Klasifikasi PEDANTO InceptionV3

Modules dan Packages

In [ ]:
import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf
import tensorflow.keras
from tensorflow.keras import backend as K
import tensorflow.keras.utils
from glob import glob

from tensorflow.keras.models import Sequential
from sklearn.model_selection import train_test_split
from tensorflow.keras.layers import Input, Lambda, Dense, Flatten, Conv2D, MaxPooling2D, Dropout, Activation, BatchNormalization
from tensorflow.keras.models import Model
from tensorflow.keras.models import load_model
from tensorflow.keras.applications.inception_v3 import InceptionV3
from keras.applications.vgg16 import VGG16
from tensorflow.keras.applications.inception_v3 import preprocess_input
from tensorflow.keras.preprocessing import image
from tensorflow.keras.preprocessing.image import ImageDataGenerator,load_img, array_to_img, img_to_array

%matplotlib inline
K.clear_session()

Import Dataset

In [ ]:
from google.colab import drive
drive.mount("/content/gdrive")
Drive already mounted at /content/gdrive; to attempt to forcibly remount, call drive.mount("/content/gdrive", force_remount=True).
In [ ]:
# Define Constants by re-sizing all the images
IMAGE_SIZE = [224, 224]

train_path = '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train'
valid_path = '/content/gdrive/My Drive/Colab Notebooks/dataset8020/val'

Data Preprocessing

In [ ]:
def normalize(input_image, input_mask):
    input_image = tf.cast(input_image, tf.float32) / 255.0
    input_mask -= 1
  
    return input_image, input_mask

InceptionV3

In [ ]:
# Import the InceptionV3 model and here we will be using imagenet weights

inception = InceptionV3(input_shape=IMAGE_SIZE + [3], weights='imagenet', include_top=False)
In [ ]:
# We don't need to train existing weights
for layer in inception.layers:
    layer.trainable = False
In [ ]:
# Folders in the Training Set
folders = glob('/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/*')
folders
Out[ ]:
['/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Spider_mites',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Septoria_leaf_spot',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Late_blight',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Mosaic_virus',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Leaf_Mold',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Healthy',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Bacterial_spot',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Early_blight',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Target_Spot',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Yellow_Leaf_Curl_Virus']

Membuat Arsitektur Model InceptionV3

In [ ]:
# Model layers -> can add more if required
x = Flatten()(inception.output)
prediction = Dense(len(folders), activation='softmax')(x)
In [ ]:
# Create a model object
model = Model(inputs=inception.input, outputs=prediction)

# View the structure of the model
model.summary()
Model: "model_1"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to                     
==================================================================================================
 input_2 (InputLayer)           [(None, 224, 224, 3  0           []                               
                                )]                                                                
                                                                                                  
 conv2d_94 (Conv2D)             (None, 111, 111, 32  864         ['input_2[0][0]']                
                                )                                                                 
                                                                                                  
 batch_normalization_94 (BatchN  (None, 111, 111, 32  96         ['conv2d_94[0][0]']              
 ormalization)                  )                                                                 
                                                                                                  
 activation_94 (Activation)     (None, 111, 111, 32  0           ['batch_normalization_94[0][0]'] 
                                )                                                                 
                                                                                                  
 conv2d_95 (Conv2D)             (None, 109, 109, 32  9216        ['activation_94[0][0]']          
                                )                                                                 
                                                                                                  
 batch_normalization_95 (BatchN  (None, 109, 109, 32  96         ['conv2d_95[0][0]']              
 ormalization)                  )                                                                 
                                                                                                  
 activation_95 (Activation)     (None, 109, 109, 32  0           ['batch_normalization_95[0][0]'] 
                                )                                                                 
                                                                                                  
 conv2d_96 (Conv2D)             (None, 109, 109, 64  18432       ['activation_95[0][0]']          
                                )                                                                 
                                                                                                  
 batch_normalization_96 (BatchN  (None, 109, 109, 64  192        ['conv2d_96[0][0]']              
 ormalization)                  )                                                                 
                                                                                                  
 activation_96 (Activation)     (None, 109, 109, 64  0           ['batch_normalization_96[0][0]'] 
                                )                                                                 
                                                                                                  
 max_pooling2d_4 (MaxPooling2D)  (None, 54, 54, 64)  0           ['activation_96[0][0]']          
                                                                                                  
 conv2d_97 (Conv2D)             (None, 54, 54, 80)   5120        ['max_pooling2d_4[0][0]']        
                                                                                                  
 batch_normalization_97 (BatchN  (None, 54, 54, 80)  240         ['conv2d_97[0][0]']              
 ormalization)                                                                                    
                                                                                                  
 activation_97 (Activation)     (None, 54, 54, 80)   0           ['batch_normalization_97[0][0]'] 
                                                                                                  
 conv2d_98 (Conv2D)             (None, 52, 52, 192)  138240      ['activation_97[0][0]']          
                                                                                                  
 batch_normalization_98 (BatchN  (None, 52, 52, 192)  576        ['conv2d_98[0][0]']              
 ormalization)                                                                                    
                                                                                                  
 activation_98 (Activation)     (None, 52, 52, 192)  0           ['batch_normalization_98[0][0]'] 
                                                                                                  
 max_pooling2d_5 (MaxPooling2D)  (None, 25, 25, 192)  0          ['activation_98[0][0]']          
                                                                                                  
 conv2d_102 (Conv2D)            (None, 25, 25, 64)   12288       ['max_pooling2d_5[0][0]']        
                                                                                                  
 batch_normalization_102 (Batch  (None, 25, 25, 64)  192         ['conv2d_102[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_102 (Activation)    (None, 25, 25, 64)   0           ['batch_normalization_102[0][0]']
                                                                                                  
 conv2d_100 (Conv2D)            (None, 25, 25, 48)   9216        ['max_pooling2d_5[0][0]']        
                                                                                                  
 conv2d_103 (Conv2D)            (None, 25, 25, 96)   55296       ['activation_102[0][0]']         
                                                                                                  
 batch_normalization_100 (Batch  (None, 25, 25, 48)  144         ['conv2d_100[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_103 (Batch  (None, 25, 25, 96)  288         ['conv2d_103[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_100 (Activation)    (None, 25, 25, 48)   0           ['batch_normalization_100[0][0]']
                                                                                                  
 activation_103 (Activation)    (None, 25, 25, 96)   0           ['batch_normalization_103[0][0]']
                                                                                                  
 average_pooling2d_9 (AveragePo  (None, 25, 25, 192)  0          ['max_pooling2d_5[0][0]']        
 oling2D)                                                                                         
                                                                                                  
 conv2d_99 (Conv2D)             (None, 25, 25, 64)   12288       ['max_pooling2d_5[0][0]']        
                                                                                                  
 conv2d_101 (Conv2D)            (None, 25, 25, 64)   76800       ['activation_100[0][0]']         
                                                                                                  
 conv2d_104 (Conv2D)            (None, 25, 25, 96)   82944       ['activation_103[0][0]']         
                                                                                                  
 conv2d_105 (Conv2D)            (None, 25, 25, 32)   6144        ['average_pooling2d_9[0][0]']    
                                                                                                  
 batch_normalization_99 (BatchN  (None, 25, 25, 64)  192         ['conv2d_99[0][0]']              
 ormalization)                                                                                    
                                                                                                  
 batch_normalization_101 (Batch  (None, 25, 25, 64)  192         ['conv2d_101[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_104 (Batch  (None, 25, 25, 96)  288         ['conv2d_104[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_105 (Batch  (None, 25, 25, 32)  96          ['conv2d_105[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_99 (Activation)     (None, 25, 25, 64)   0           ['batch_normalization_99[0][0]'] 
                                                                                                  
 activation_101 (Activation)    (None, 25, 25, 64)   0           ['batch_normalization_101[0][0]']
                                                                                                  
 activation_104 (Activation)    (None, 25, 25, 96)   0           ['batch_normalization_104[0][0]']
                                                                                                  
 activation_105 (Activation)    (None, 25, 25, 32)   0           ['batch_normalization_105[0][0]']
                                                                                                  
 mixed0 (Concatenate)           (None, 25, 25, 256)  0           ['activation_99[0][0]',          
                                                                  'activation_101[0][0]',         
                                                                  'activation_104[0][0]',         
                                                                  'activation_105[0][0]']         
                                                                                                  
 conv2d_109 (Conv2D)            (None, 25, 25, 64)   16384       ['mixed0[0][0]']                 
                                                                                                  
 batch_normalization_109 (Batch  (None, 25, 25, 64)  192         ['conv2d_109[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_109 (Activation)    (None, 25, 25, 64)   0           ['batch_normalization_109[0][0]']
                                                                                                  
 conv2d_107 (Conv2D)            (None, 25, 25, 48)   12288       ['mixed0[0][0]']                 
                                                                                                  
 conv2d_110 (Conv2D)            (None, 25, 25, 96)   55296       ['activation_109[0][0]']         
                                                                                                  
 batch_normalization_107 (Batch  (None, 25, 25, 48)  144         ['conv2d_107[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_110 (Batch  (None, 25, 25, 96)  288         ['conv2d_110[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_107 (Activation)    (None, 25, 25, 48)   0           ['batch_normalization_107[0][0]']
                                                                                                  
 activation_110 (Activation)    (None, 25, 25, 96)   0           ['batch_normalization_110[0][0]']
                                                                                                  
 average_pooling2d_10 (AverageP  (None, 25, 25, 256)  0          ['mixed0[0][0]']                 
 ooling2D)                                                                                        
                                                                                                  
 conv2d_106 (Conv2D)            (None, 25, 25, 64)   16384       ['mixed0[0][0]']                 
                                                                                                  
 conv2d_108 (Conv2D)            (None, 25, 25, 64)   76800       ['activation_107[0][0]']         
                                                                                                  
 conv2d_111 (Conv2D)            (None, 25, 25, 96)   82944       ['activation_110[0][0]']         
                                                                                                  
 conv2d_112 (Conv2D)            (None, 25, 25, 64)   16384       ['average_pooling2d_10[0][0]']   
                                                                                                  
 batch_normalization_106 (Batch  (None, 25, 25, 64)  192         ['conv2d_106[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_108 (Batch  (None, 25, 25, 64)  192         ['conv2d_108[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_111 (Batch  (None, 25, 25, 96)  288         ['conv2d_111[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_112 (Batch  (None, 25, 25, 64)  192         ['conv2d_112[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_106 (Activation)    (None, 25, 25, 64)   0           ['batch_normalization_106[0][0]']
                                                                                                  
 activation_108 (Activation)    (None, 25, 25, 64)   0           ['batch_normalization_108[0][0]']
                                                                                                  
 activation_111 (Activation)    (None, 25, 25, 96)   0           ['batch_normalization_111[0][0]']
                                                                                                  
 activation_112 (Activation)    (None, 25, 25, 64)   0           ['batch_normalization_112[0][0]']
                                                                                                  
 mixed1 (Concatenate)           (None, 25, 25, 288)  0           ['activation_106[0][0]',         
                                                                  'activation_108[0][0]',         
                                                                  'activation_111[0][0]',         
                                                                  'activation_112[0][0]']         
                                                                                                  
 conv2d_116 (Conv2D)            (None, 25, 25, 64)   18432       ['mixed1[0][0]']                 
                                                                                                  
 batch_normalization_116 (Batch  (None, 25, 25, 64)  192         ['conv2d_116[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_116 (Activation)    (None, 25, 25, 64)   0           ['batch_normalization_116[0][0]']
                                                                                                  
 conv2d_114 (Conv2D)            (None, 25, 25, 48)   13824       ['mixed1[0][0]']                 
                                                                                                  
 conv2d_117 (Conv2D)            (None, 25, 25, 96)   55296       ['activation_116[0][0]']         
                                                                                                  
 batch_normalization_114 (Batch  (None, 25, 25, 48)  144         ['conv2d_114[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_117 (Batch  (None, 25, 25, 96)  288         ['conv2d_117[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_114 (Activation)    (None, 25, 25, 48)   0           ['batch_normalization_114[0][0]']
                                                                                                  
 activation_117 (Activation)    (None, 25, 25, 96)   0           ['batch_normalization_117[0][0]']
                                                                                                  
 average_pooling2d_11 (AverageP  (None, 25, 25, 288)  0          ['mixed1[0][0]']                 
 ooling2D)                                                                                        
                                                                                                  
 conv2d_113 (Conv2D)            (None, 25, 25, 64)   18432       ['mixed1[0][0]']                 
                                                                                                  
 conv2d_115 (Conv2D)            (None, 25, 25, 64)   76800       ['activation_114[0][0]']         
                                                                                                  
 conv2d_118 (Conv2D)            (None, 25, 25, 96)   82944       ['activation_117[0][0]']         
                                                                                                  
 conv2d_119 (Conv2D)            (None, 25, 25, 64)   18432       ['average_pooling2d_11[0][0]']   
                                                                                                  
 batch_normalization_113 (Batch  (None, 25, 25, 64)  192         ['conv2d_113[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_115 (Batch  (None, 25, 25, 64)  192         ['conv2d_115[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_118 (Batch  (None, 25, 25, 96)  288         ['conv2d_118[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_119 (Batch  (None, 25, 25, 64)  192         ['conv2d_119[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_113 (Activation)    (None, 25, 25, 64)   0           ['batch_normalization_113[0][0]']
                                                                                                  
 activation_115 (Activation)    (None, 25, 25, 64)   0           ['batch_normalization_115[0][0]']
                                                                                                  
 activation_118 (Activation)    (None, 25, 25, 96)   0           ['batch_normalization_118[0][0]']
                                                                                                  
 activation_119 (Activation)    (None, 25, 25, 64)   0           ['batch_normalization_119[0][0]']
                                                                                                  
 mixed2 (Concatenate)           (None, 25, 25, 288)  0           ['activation_113[0][0]',         
                                                                  'activation_115[0][0]',         
                                                                  'activation_118[0][0]',         
                                                                  'activation_119[0][0]']         
                                                                                                  
 conv2d_121 (Conv2D)            (None, 25, 25, 64)   18432       ['mixed2[0][0]']                 
                                                                                                  
 batch_normalization_121 (Batch  (None, 25, 25, 64)  192         ['conv2d_121[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_121 (Activation)    (None, 25, 25, 64)   0           ['batch_normalization_121[0][0]']
                                                                                                  
 conv2d_122 (Conv2D)            (None, 25, 25, 96)   55296       ['activation_121[0][0]']         
                                                                                                  
 batch_normalization_122 (Batch  (None, 25, 25, 96)  288         ['conv2d_122[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_122 (Activation)    (None, 25, 25, 96)   0           ['batch_normalization_122[0][0]']
                                                                                                  
 conv2d_120 (Conv2D)            (None, 12, 12, 384)  995328      ['mixed2[0][0]']                 
                                                                                                  
 conv2d_123 (Conv2D)            (None, 12, 12, 96)   82944       ['activation_122[0][0]']         
                                                                                                  
 batch_normalization_120 (Batch  (None, 12, 12, 384)  1152       ['conv2d_120[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_123 (Batch  (None, 12, 12, 96)  288         ['conv2d_123[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_120 (Activation)    (None, 12, 12, 384)  0           ['batch_normalization_120[0][0]']
                                                                                                  
 activation_123 (Activation)    (None, 12, 12, 96)   0           ['batch_normalization_123[0][0]']
                                                                                                  
 max_pooling2d_6 (MaxPooling2D)  (None, 12, 12, 288)  0          ['mixed2[0][0]']                 
                                                                                                  
 mixed3 (Concatenate)           (None, 12, 12, 768)  0           ['activation_120[0][0]',         
                                                                  'activation_123[0][0]',         
                                                                  'max_pooling2d_6[0][0]']        
                                                                                                  
 conv2d_128 (Conv2D)            (None, 12, 12, 128)  98304       ['mixed3[0][0]']                 
                                                                                                  
 batch_normalization_128 (Batch  (None, 12, 12, 128)  384        ['conv2d_128[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_128 (Activation)    (None, 12, 12, 128)  0           ['batch_normalization_128[0][0]']
                                                                                                  
 conv2d_129 (Conv2D)            (None, 12, 12, 128)  114688      ['activation_128[0][0]']         
                                                                                                  
 batch_normalization_129 (Batch  (None, 12, 12, 128)  384        ['conv2d_129[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_129 (Activation)    (None, 12, 12, 128)  0           ['batch_normalization_129[0][0]']
                                                                                                  
 conv2d_125 (Conv2D)            (None, 12, 12, 128)  98304       ['mixed3[0][0]']                 
                                                                                                  
 conv2d_130 (Conv2D)            (None, 12, 12, 128)  114688      ['activation_129[0][0]']         
                                                                                                  
 batch_normalization_125 (Batch  (None, 12, 12, 128)  384        ['conv2d_125[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_130 (Batch  (None, 12, 12, 128)  384        ['conv2d_130[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_125 (Activation)    (None, 12, 12, 128)  0           ['batch_normalization_125[0][0]']
                                                                                                  
 activation_130 (Activation)    (None, 12, 12, 128)  0           ['batch_normalization_130[0][0]']
                                                                                                  
 conv2d_126 (Conv2D)            (None, 12, 12, 128)  114688      ['activation_125[0][0]']         
                                                                                                  
 conv2d_131 (Conv2D)            (None, 12, 12, 128)  114688      ['activation_130[0][0]']         
                                                                                                  
 batch_normalization_126 (Batch  (None, 12, 12, 128)  384        ['conv2d_126[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_131 (Batch  (None, 12, 12, 128)  384        ['conv2d_131[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_126 (Activation)    (None, 12, 12, 128)  0           ['batch_normalization_126[0][0]']
                                                                                                  
 activation_131 (Activation)    (None, 12, 12, 128)  0           ['batch_normalization_131[0][0]']
                                                                                                  
 average_pooling2d_12 (AverageP  (None, 12, 12, 768)  0          ['mixed3[0][0]']                 
 ooling2D)                                                                                        
                                                                                                  
 conv2d_124 (Conv2D)            (None, 12, 12, 192)  147456      ['mixed3[0][0]']                 
                                                                                                  
 conv2d_127 (Conv2D)            (None, 12, 12, 192)  172032      ['activation_126[0][0]']         
                                                                                                  
 conv2d_132 (Conv2D)            (None, 12, 12, 192)  172032      ['activation_131[0][0]']         
                                                                                                  
 conv2d_133 (Conv2D)            (None, 12, 12, 192)  147456      ['average_pooling2d_12[0][0]']   
                                                                                                  
 batch_normalization_124 (Batch  (None, 12, 12, 192)  576        ['conv2d_124[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_127 (Batch  (None, 12, 12, 192)  576        ['conv2d_127[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_132 (Batch  (None, 12, 12, 192)  576        ['conv2d_132[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_133 (Batch  (None, 12, 12, 192)  576        ['conv2d_133[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_124 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_124[0][0]']
                                                                                                  
 activation_127 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_127[0][0]']
                                                                                                  
 activation_132 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_132[0][0]']
                                                                                                  
 activation_133 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_133[0][0]']
                                                                                                  
 mixed4 (Concatenate)           (None, 12, 12, 768)  0           ['activation_124[0][0]',         
                                                                  'activation_127[0][0]',         
                                                                  'activation_132[0][0]',         
                                                                  'activation_133[0][0]']         
                                                                                                  
 conv2d_138 (Conv2D)            (None, 12, 12, 160)  122880      ['mixed4[0][0]']                 
                                                                                                  
 batch_normalization_138 (Batch  (None, 12, 12, 160)  480        ['conv2d_138[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_138 (Activation)    (None, 12, 12, 160)  0           ['batch_normalization_138[0][0]']
                                                                                                  
 conv2d_139 (Conv2D)            (None, 12, 12, 160)  179200      ['activation_138[0][0]']         
                                                                                                  
 batch_normalization_139 (Batch  (None, 12, 12, 160)  480        ['conv2d_139[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_139 (Activation)    (None, 12, 12, 160)  0           ['batch_normalization_139[0][0]']
                                                                                                  
 conv2d_135 (Conv2D)            (None, 12, 12, 160)  122880      ['mixed4[0][0]']                 
                                                                                                  
 conv2d_140 (Conv2D)            (None, 12, 12, 160)  179200      ['activation_139[0][0]']         
                                                                                                  
 batch_normalization_135 (Batch  (None, 12, 12, 160)  480        ['conv2d_135[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_140 (Batch  (None, 12, 12, 160)  480        ['conv2d_140[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_135 (Activation)    (None, 12, 12, 160)  0           ['batch_normalization_135[0][0]']
                                                                                                  
 activation_140 (Activation)    (None, 12, 12, 160)  0           ['batch_normalization_140[0][0]']
                                                                                                  
 conv2d_136 (Conv2D)            (None, 12, 12, 160)  179200      ['activation_135[0][0]']         
                                                                                                  
 conv2d_141 (Conv2D)            (None, 12, 12, 160)  179200      ['activation_140[0][0]']         
                                                                                                  
 batch_normalization_136 (Batch  (None, 12, 12, 160)  480        ['conv2d_136[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_141 (Batch  (None, 12, 12, 160)  480        ['conv2d_141[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_136 (Activation)    (None, 12, 12, 160)  0           ['batch_normalization_136[0][0]']
                                                                                                  
 activation_141 (Activation)    (None, 12, 12, 160)  0           ['batch_normalization_141[0][0]']
                                                                                                  
 average_pooling2d_13 (AverageP  (None, 12, 12, 768)  0          ['mixed4[0][0]']                 
 ooling2D)                                                                                        
                                                                                                  
 conv2d_134 (Conv2D)            (None, 12, 12, 192)  147456      ['mixed4[0][0]']                 
                                                                                                  
 conv2d_137 (Conv2D)            (None, 12, 12, 192)  215040      ['activation_136[0][0]']         
                                                                                                  
 conv2d_142 (Conv2D)            (None, 12, 12, 192)  215040      ['activation_141[0][0]']         
                                                                                                  
 conv2d_143 (Conv2D)            (None, 12, 12, 192)  147456      ['average_pooling2d_13[0][0]']   
                                                                                                  
 batch_normalization_134 (Batch  (None, 12, 12, 192)  576        ['conv2d_134[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_137 (Batch  (None, 12, 12, 192)  576        ['conv2d_137[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_142 (Batch  (None, 12, 12, 192)  576        ['conv2d_142[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_143 (Batch  (None, 12, 12, 192)  576        ['conv2d_143[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_134 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_134[0][0]']
                                                                                                  
 activation_137 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_137[0][0]']
                                                                                                  
 activation_142 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_142[0][0]']
                                                                                                  
 activation_143 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_143[0][0]']
                                                                                                  
 mixed5 (Concatenate)           (None, 12, 12, 768)  0           ['activation_134[0][0]',         
                                                                  'activation_137[0][0]',         
                                                                  'activation_142[0][0]',         
                                                                  'activation_143[0][0]']         
                                                                                                  
 conv2d_148 (Conv2D)            (None, 12, 12, 160)  122880      ['mixed5[0][0]']                 
                                                                                                  
 batch_normalization_148 (Batch  (None, 12, 12, 160)  480        ['conv2d_148[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_148 (Activation)    (None, 12, 12, 160)  0           ['batch_normalization_148[0][0]']
                                                                                                  
 conv2d_149 (Conv2D)            (None, 12, 12, 160)  179200      ['activation_148[0][0]']         
                                                                                                  
 batch_normalization_149 (Batch  (None, 12, 12, 160)  480        ['conv2d_149[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_149 (Activation)    (None, 12, 12, 160)  0           ['batch_normalization_149[0][0]']
                                                                                                  
 conv2d_145 (Conv2D)            (None, 12, 12, 160)  122880      ['mixed5[0][0]']                 
                                                                                                  
 conv2d_150 (Conv2D)            (None, 12, 12, 160)  179200      ['activation_149[0][0]']         
                                                                                                  
 batch_normalization_145 (Batch  (None, 12, 12, 160)  480        ['conv2d_145[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_150 (Batch  (None, 12, 12, 160)  480        ['conv2d_150[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_145 (Activation)    (None, 12, 12, 160)  0           ['batch_normalization_145[0][0]']
                                                                                                  
 activation_150 (Activation)    (None, 12, 12, 160)  0           ['batch_normalization_150[0][0]']
                                                                                                  
 conv2d_146 (Conv2D)            (None, 12, 12, 160)  179200      ['activation_145[0][0]']         
                                                                                                  
 conv2d_151 (Conv2D)            (None, 12, 12, 160)  179200      ['activation_150[0][0]']         
                                                                                                  
 batch_normalization_146 (Batch  (None, 12, 12, 160)  480        ['conv2d_146[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_151 (Batch  (None, 12, 12, 160)  480        ['conv2d_151[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_146 (Activation)    (None, 12, 12, 160)  0           ['batch_normalization_146[0][0]']
                                                                                                  
 activation_151 (Activation)    (None, 12, 12, 160)  0           ['batch_normalization_151[0][0]']
                                                                                                  
 average_pooling2d_14 (AverageP  (None, 12, 12, 768)  0          ['mixed5[0][0]']                 
 ooling2D)                                                                                        
                                                                                                  
 conv2d_144 (Conv2D)            (None, 12, 12, 192)  147456      ['mixed5[0][0]']                 
                                                                                                  
 conv2d_147 (Conv2D)            (None, 12, 12, 192)  215040      ['activation_146[0][0]']         
                                                                                                  
 conv2d_152 (Conv2D)            (None, 12, 12, 192)  215040      ['activation_151[0][0]']         
                                                                                                  
 conv2d_153 (Conv2D)            (None, 12, 12, 192)  147456      ['average_pooling2d_14[0][0]']   
                                                                                                  
 batch_normalization_144 (Batch  (None, 12, 12, 192)  576        ['conv2d_144[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_147 (Batch  (None, 12, 12, 192)  576        ['conv2d_147[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_152 (Batch  (None, 12, 12, 192)  576        ['conv2d_152[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_153 (Batch  (None, 12, 12, 192)  576        ['conv2d_153[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_144 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_144[0][0]']
                                                                                                  
 activation_147 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_147[0][0]']
                                                                                                  
 activation_152 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_152[0][0]']
                                                                                                  
 activation_153 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_153[0][0]']
                                                                                                  
 mixed6 (Concatenate)           (None, 12, 12, 768)  0           ['activation_144[0][0]',         
                                                                  'activation_147[0][0]',         
                                                                  'activation_152[0][0]',         
                                                                  'activation_153[0][0]']         
                                                                                                  
 conv2d_158 (Conv2D)            (None, 12, 12, 192)  147456      ['mixed6[0][0]']                 
                                                                                                  
 batch_normalization_158 (Batch  (None, 12, 12, 192)  576        ['conv2d_158[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_158 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_158[0][0]']
                                                                                                  
 conv2d_159 (Conv2D)            (None, 12, 12, 192)  258048      ['activation_158[0][0]']         
                                                                                                  
 batch_normalization_159 (Batch  (None, 12, 12, 192)  576        ['conv2d_159[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_159 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_159[0][0]']
                                                                                                  
 conv2d_155 (Conv2D)            (None, 12, 12, 192)  147456      ['mixed6[0][0]']                 
                                                                                                  
 conv2d_160 (Conv2D)            (None, 12, 12, 192)  258048      ['activation_159[0][0]']         
                                                                                                  
 batch_normalization_155 (Batch  (None, 12, 12, 192)  576        ['conv2d_155[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_160 (Batch  (None, 12, 12, 192)  576        ['conv2d_160[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_155 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_155[0][0]']
                                                                                                  
 activation_160 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_160[0][0]']
                                                                                                  
 conv2d_156 (Conv2D)            (None, 12, 12, 192)  258048      ['activation_155[0][0]']         
                                                                                                  
 conv2d_161 (Conv2D)            (None, 12, 12, 192)  258048      ['activation_160[0][0]']         
                                                                                                  
 batch_normalization_156 (Batch  (None, 12, 12, 192)  576        ['conv2d_156[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_161 (Batch  (None, 12, 12, 192)  576        ['conv2d_161[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_156 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_156[0][0]']
                                                                                                  
 activation_161 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_161[0][0]']
                                                                                                  
 average_pooling2d_15 (AverageP  (None, 12, 12, 768)  0          ['mixed6[0][0]']                 
 ooling2D)                                                                                        
                                                                                                  
 conv2d_154 (Conv2D)            (None, 12, 12, 192)  147456      ['mixed6[0][0]']                 
                                                                                                  
 conv2d_157 (Conv2D)            (None, 12, 12, 192)  258048      ['activation_156[0][0]']         
                                                                                                  
 conv2d_162 (Conv2D)            (None, 12, 12, 192)  258048      ['activation_161[0][0]']         
                                                                                                  
 conv2d_163 (Conv2D)            (None, 12, 12, 192)  147456      ['average_pooling2d_15[0][0]']   
                                                                                                  
 batch_normalization_154 (Batch  (None, 12, 12, 192)  576        ['conv2d_154[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_157 (Batch  (None, 12, 12, 192)  576        ['conv2d_157[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_162 (Batch  (None, 12, 12, 192)  576        ['conv2d_162[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_163 (Batch  (None, 12, 12, 192)  576        ['conv2d_163[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_154 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_154[0][0]']
                                                                                                  
 activation_157 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_157[0][0]']
                                                                                                  
 activation_162 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_162[0][0]']
                                                                                                  
 activation_163 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_163[0][0]']
                                                                                                  
 mixed7 (Concatenate)           (None, 12, 12, 768)  0           ['activation_154[0][0]',         
                                                                  'activation_157[0][0]',         
                                                                  'activation_162[0][0]',         
                                                                  'activation_163[0][0]']         
                                                                                                  
 conv2d_166 (Conv2D)            (None, 12, 12, 192)  147456      ['mixed7[0][0]']                 
                                                                                                  
 batch_normalization_166 (Batch  (None, 12, 12, 192)  576        ['conv2d_166[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_166 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_166[0][0]']
                                                                                                  
 conv2d_167 (Conv2D)            (None, 12, 12, 192)  258048      ['activation_166[0][0]']         
                                                                                                  
 batch_normalization_167 (Batch  (None, 12, 12, 192)  576        ['conv2d_167[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_167 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_167[0][0]']
                                                                                                  
 conv2d_164 (Conv2D)            (None, 12, 12, 192)  147456      ['mixed7[0][0]']                 
                                                                                                  
 conv2d_168 (Conv2D)            (None, 12, 12, 192)  258048      ['activation_167[0][0]']         
                                                                                                  
 batch_normalization_164 (Batch  (None, 12, 12, 192)  576        ['conv2d_164[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_168 (Batch  (None, 12, 12, 192)  576        ['conv2d_168[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_164 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_164[0][0]']
                                                                                                  
 activation_168 (Activation)    (None, 12, 12, 192)  0           ['batch_normalization_168[0][0]']
                                                                                                  
 conv2d_165 (Conv2D)            (None, 5, 5, 320)    552960      ['activation_164[0][0]']         
                                                                                                  
 conv2d_169 (Conv2D)            (None, 5, 5, 192)    331776      ['activation_168[0][0]']         
                                                                                                  
 batch_normalization_165 (Batch  (None, 5, 5, 320)   960         ['conv2d_165[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_169 (Batch  (None, 5, 5, 192)   576         ['conv2d_169[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_165 (Activation)    (None, 5, 5, 320)    0           ['batch_normalization_165[0][0]']
                                                                                                  
 activation_169 (Activation)    (None, 5, 5, 192)    0           ['batch_normalization_169[0][0]']
                                                                                                  
 max_pooling2d_7 (MaxPooling2D)  (None, 5, 5, 768)   0           ['mixed7[0][0]']                 
                                                                                                  
 mixed8 (Concatenate)           (None, 5, 5, 1280)   0           ['activation_165[0][0]',         
                                                                  'activation_169[0][0]',         
                                                                  'max_pooling2d_7[0][0]']        
                                                                                                  
 conv2d_174 (Conv2D)            (None, 5, 5, 448)    573440      ['mixed8[0][0]']                 
                                                                                                  
 batch_normalization_174 (Batch  (None, 5, 5, 448)   1344        ['conv2d_174[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_174 (Activation)    (None, 5, 5, 448)    0           ['batch_normalization_174[0][0]']
                                                                                                  
 conv2d_171 (Conv2D)            (None, 5, 5, 384)    491520      ['mixed8[0][0]']                 
                                                                                                  
 conv2d_175 (Conv2D)            (None, 5, 5, 384)    1548288     ['activation_174[0][0]']         
                                                                                                  
 batch_normalization_171 (Batch  (None, 5, 5, 384)   1152        ['conv2d_171[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_175 (Batch  (None, 5, 5, 384)   1152        ['conv2d_175[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_171 (Activation)    (None, 5, 5, 384)    0           ['batch_normalization_171[0][0]']
                                                                                                  
 activation_175 (Activation)    (None, 5, 5, 384)    0           ['batch_normalization_175[0][0]']
                                                                                                  
 conv2d_172 (Conv2D)            (None, 5, 5, 384)    442368      ['activation_171[0][0]']         
                                                                                                  
 conv2d_173 (Conv2D)            (None, 5, 5, 384)    442368      ['activation_171[0][0]']         
                                                                                                  
 conv2d_176 (Conv2D)            (None, 5, 5, 384)    442368      ['activation_175[0][0]']         
                                                                                                  
 conv2d_177 (Conv2D)            (None, 5, 5, 384)    442368      ['activation_175[0][0]']         
                                                                                                  
 average_pooling2d_16 (AverageP  (None, 5, 5, 1280)  0           ['mixed8[0][0]']                 
 ooling2D)                                                                                        
                                                                                                  
 conv2d_170 (Conv2D)            (None, 5, 5, 320)    409600      ['mixed8[0][0]']                 
                                                                                                  
 batch_normalization_172 (Batch  (None, 5, 5, 384)   1152        ['conv2d_172[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_173 (Batch  (None, 5, 5, 384)   1152        ['conv2d_173[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_176 (Batch  (None, 5, 5, 384)   1152        ['conv2d_176[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_177 (Batch  (None, 5, 5, 384)   1152        ['conv2d_177[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 conv2d_178 (Conv2D)            (None, 5, 5, 192)    245760      ['average_pooling2d_16[0][0]']   
                                                                                                  
 batch_normalization_170 (Batch  (None, 5, 5, 320)   960         ['conv2d_170[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_172 (Activation)    (None, 5, 5, 384)    0           ['batch_normalization_172[0][0]']
                                                                                                  
 activation_173 (Activation)    (None, 5, 5, 384)    0           ['batch_normalization_173[0][0]']
                                                                                                  
 activation_176 (Activation)    (None, 5, 5, 384)    0           ['batch_normalization_176[0][0]']
                                                                                                  
 activation_177 (Activation)    (None, 5, 5, 384)    0           ['batch_normalization_177[0][0]']
                                                                                                  
 batch_normalization_178 (Batch  (None, 5, 5, 192)   576         ['conv2d_178[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_170 (Activation)    (None, 5, 5, 320)    0           ['batch_normalization_170[0][0]']
                                                                                                  
 mixed9_0 (Concatenate)         (None, 5, 5, 768)    0           ['activation_172[0][0]',         
                                                                  'activation_173[0][0]']         
                                                                                                  
 concatenate_2 (Concatenate)    (None, 5, 5, 768)    0           ['activation_176[0][0]',         
                                                                  'activation_177[0][0]']         
                                                                                                  
 activation_178 (Activation)    (None, 5, 5, 192)    0           ['batch_normalization_178[0][0]']
                                                                                                  
 mixed9 (Concatenate)           (None, 5, 5, 2048)   0           ['activation_170[0][0]',         
                                                                  'mixed9_0[0][0]',               
                                                                  'concatenate_2[0][0]',          
                                                                  'activation_178[0][0]']         
                                                                                                  
 conv2d_183 (Conv2D)            (None, 5, 5, 448)    917504      ['mixed9[0][0]']                 
                                                                                                  
 batch_normalization_183 (Batch  (None, 5, 5, 448)   1344        ['conv2d_183[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_183 (Activation)    (None, 5, 5, 448)    0           ['batch_normalization_183[0][0]']
                                                                                                  
 conv2d_180 (Conv2D)            (None, 5, 5, 384)    786432      ['mixed9[0][0]']                 
                                                                                                  
 conv2d_184 (Conv2D)            (None, 5, 5, 384)    1548288     ['activation_183[0][0]']         
                                                                                                  
 batch_normalization_180 (Batch  (None, 5, 5, 384)   1152        ['conv2d_180[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_184 (Batch  (None, 5, 5, 384)   1152        ['conv2d_184[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_180 (Activation)    (None, 5, 5, 384)    0           ['batch_normalization_180[0][0]']
                                                                                                  
 activation_184 (Activation)    (None, 5, 5, 384)    0           ['batch_normalization_184[0][0]']
                                                                                                  
 conv2d_181 (Conv2D)            (None, 5, 5, 384)    442368      ['activation_180[0][0]']         
                                                                                                  
 conv2d_182 (Conv2D)            (None, 5, 5, 384)    442368      ['activation_180[0][0]']         
                                                                                                  
 conv2d_185 (Conv2D)            (None, 5, 5, 384)    442368      ['activation_184[0][0]']         
                                                                                                  
 conv2d_186 (Conv2D)            (None, 5, 5, 384)    442368      ['activation_184[0][0]']         
                                                                                                  
 average_pooling2d_17 (AverageP  (None, 5, 5, 2048)  0           ['mixed9[0][0]']                 
 ooling2D)                                                                                        
                                                                                                  
 conv2d_179 (Conv2D)            (None, 5, 5, 320)    655360      ['mixed9[0][0]']                 
                                                                                                  
 batch_normalization_181 (Batch  (None, 5, 5, 384)   1152        ['conv2d_181[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_182 (Batch  (None, 5, 5, 384)   1152        ['conv2d_182[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_185 (Batch  (None, 5, 5, 384)   1152        ['conv2d_185[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 batch_normalization_186 (Batch  (None, 5, 5, 384)   1152        ['conv2d_186[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 conv2d_187 (Conv2D)            (None, 5, 5, 192)    393216      ['average_pooling2d_17[0][0]']   
                                                                                                  
 batch_normalization_179 (Batch  (None, 5, 5, 320)   960         ['conv2d_179[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_181 (Activation)    (None, 5, 5, 384)    0           ['batch_normalization_181[0][0]']
                                                                                                  
 activation_182 (Activation)    (None, 5, 5, 384)    0           ['batch_normalization_182[0][0]']
                                                                                                  
 activation_185 (Activation)    (None, 5, 5, 384)    0           ['batch_normalization_185[0][0]']
                                                                                                  
 activation_186 (Activation)    (None, 5, 5, 384)    0           ['batch_normalization_186[0][0]']
                                                                                                  
 batch_normalization_187 (Batch  (None, 5, 5, 192)   576         ['conv2d_187[0][0]']             
 Normalization)                                                                                   
                                                                                                  
 activation_179 (Activation)    (None, 5, 5, 320)    0           ['batch_normalization_179[0][0]']
                                                                                                  
 mixed9_1 (Concatenate)         (None, 5, 5, 768)    0           ['activation_181[0][0]',         
                                                                  'activation_182[0][0]']         
                                                                                                  
 concatenate_3 (Concatenate)    (None, 5, 5, 768)    0           ['activation_185[0][0]',         
                                                                  'activation_186[0][0]']         
                                                                                                  
 activation_187 (Activation)    (None, 5, 5, 192)    0           ['batch_normalization_187[0][0]']
                                                                                                  
 mixed10 (Concatenate)          (None, 5, 5, 2048)   0           ['activation_179[0][0]',         
                                                                  'mixed9_1[0][0]',               
                                                                  'concatenate_3[0][0]',          
                                                                  'activation_187[0][0]']         
                                                                                                  
 flatten_1 (Flatten)            (None, 51200)        0           ['mixed10[0][0]']                
                                                                                                  
 dense_1 (Dense)                (None, 10)           512010      ['flatten_1[0][0]']              
                                                                                                  
==================================================================================================
Total params: 22,314,794
Trainable params: 512,010
Non-trainable params: 21,802,784
__________________________________________________________________________________________________

Train model

In [ ]:
# Defining the cost and model optimization method to use
model.compile(
  loss='categorical_crossentropy',
  optimizer='adam',
  metrics=['accuracy']
)
In [ ]:
# Using the Image Data Generator to import the images from the dataset
from tensorflow.keras.preprocessing.image import ImageDataGenerator

train_datagen = ImageDataGenerator(rescale = 1./255,
                                   shear_range = 0.2,
                                   zoom_range = 0.2,
                                   horizontal_flip = True)

test_datagen = ImageDataGenerator(rescale = 1./255)
In [ ]:
# Training Generator
training_set = train_datagen.flow_from_directory('/content/gdrive/My Drive/Colab Notebooks/dataset8020/train',
                                                 target_size = (224, 224),
                                                 batch_size = 32,
                                                 class_mode = 'categorical')
Found 8000 images belonging to 10 classes.
In [ ]:
# Testing Generator
test_set = test_datagen.flow_from_directory('/content/gdrive/My Drive/Colab Notebooks/dataset8020/val',
                                            target_size = (224, 224),
                                            batch_size = 32,
                                            class_mode = 'categorical')
Found 2000 images belonging to 10 classes.
In [ ]:
# fit the model, it will take some time to execute
r = model.fit(
  training_set,
  validation_data=test_set,
  epochs=5,
  steps_per_epoch=len(training_set),
  validation_steps=len(test_set)
)
Epoch 1/5
250/250 [==============================] - 1502s 6s/step - loss: 4.0302 - accuracy: 0.6111 - val_loss: 2.2804 - val_accuracy: 0.7075
Epoch 2/5
250/250 [==============================] - 1007s 4s/step - loss: 1.8126 - accuracy: 0.7675 - val_loss: 1.3260 - val_accuracy: 0.8045
Epoch 3/5
250/250 [==============================] - 1015s 4s/step - loss: 1.8028 - accuracy: 0.7970 - val_loss: 2.2641 - val_accuracy: 0.7620
Epoch 4/5
250/250 [==============================] - 1022s 4s/step - loss: 1.5416 - accuracy: 0.8234 - val_loss: 0.9595 - val_accuracy: 0.8770
Epoch 5/5
250/250 [==============================] - 1020s 4s/step - loss: 1.5698 - accuracy: 0.8371 - val_loss: 1.3281 - val_accuracy: 0.8495

Visualization Loss And Accuracy

In [ ]:
# Plot the Loss and Accuracy
# Loss
model.evaluate(test_set)
plt.plot(r.history['loss'], label='train loss')
plt.plot(r.history['val_loss'], label='val loss')
plt.legend()
plt.show()

# Accuracy
plt.plot(r.history['accuracy'], label='train acc')
plt.plot(r.history['val_accuracy'], label='val acc')
plt.legend()
plt.show()
63/63 [==============================] - 188s 3s/step - loss: 1.3281 - accuracy: 0.8495

Menyimpan Model

In [ ]:
# Saving the model as a h5 file

from tensorflow.keras.models import load_model
model.save('model_inception.h5')

Load Model

In [ ]:
model = load_model('model_inception.h5')
---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
<ipython-input-14-6a079f9de6f3> in <module>
----> 1 model = load_model('model_inception.h5')

/usr/local/lib/python3.7/dist-packages/keras/utils/traceback_utils.py in error_handler(*args, **kwargs)
     65     except Exception as e:  # pylint: disable=broad-except
     66       filtered_tb = _process_traceback_frames(e.__traceback__)
---> 67       raise e.with_traceback(filtered_tb) from None
     68     finally:
     69       del filtered_tb

/usr/local/lib/python3.7/dist-packages/keras/saving/save.py in load_model(filepath, custom_objects, compile, options)
    204         if isinstance(filepath_str, str):
    205           if not tf.io.gfile.exists(filepath_str):
--> 206             raise IOError(f'No file or directory found at {filepath_str}')
    207 
    208           if tf.io.gfile.isdir(filepath_str):

OSError: No file or directory found at model_inception.h5

Predict

In [ ]:
y_pred = model.predict(test_set)
63/63 [==============================] - 195s 3s/step
In [ ]:
y_pred
Out[ ]:
array([[0.0000000e+00, 1.9883246e-34, 8.9775664e-01, ..., 1.0224147e-01,
        2.9612454e-15, 1.8457501e-06],
       [1.0475146e-31, 2.4344494e-23, 1.2251389e-19, ..., 9.9999994e-01,
        1.2092257e-21, 6.1555072e-10],
       [6.6823721e-15, 1.9258282e-06, 2.0794512e-06, ..., 3.5903615e-01,
        6.8596691e-11, 2.8802851e-01],
       ...,
       [9.9999994e-01, 1.1173088e-09, 7.8183576e-19, ..., 9.5940103e-11,
        4.4835802e-14, 5.0567840e-16],
       [9.4067271e-14, 3.9219127e-18, 3.4441447e-07, ..., 9.9999624e-01,
        3.0819001e-06, 4.1683735e-20],
       [1.0242016e-26, 5.1891837e-12, 5.6711569e-10, ..., 1.2128113e-14,
        3.9022973e-15, 1.2875653e-19]], dtype=float32)
In [ ]:
y_pred = np.argmax(y_pred, axis=1)
In [ ]:
y_pred
Out[ ]:
array([2, 7, 7, ..., 0, 7, 6])
In [ ]:
loss_final, accuracy_final = model.evaluate(test_set)
63/63 [==============================] - 189s 3s/step - loss: 1.3281 - accuracy: 0.8495
In [ ]:
print("Final loss: {:.2f}".format(loss_final))
print("Final accuracy: {:.2f}".format(accuracy_final))
Final loss: 1.33
Final accuracy: 0.85

Predict Insert Image

In [ ]:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
from tensorflow.keras.preprocessing import image
from google.colab import files

uploaded = files.upload()

for fn in uploaded.keys():
 
  # predicting images
    path = '/content/' + fn
    img = image.load_img(path, target_size=(224, 224))
    x = image.img_to_array(img)
    plt.imshow(x/255.)
    x = np.expand_dims(x, axis=0)
    images = np.vstack([x])
    classes = model.predict(images, batch_size=32)
    index = tf.argmax(classes[0], axis=0)
    print(classes[0])
    if classes[0][0]==1:
      print("Bacterial spot")
    elif classes[0][1]==1:
      print("Early blight")
    elif classes[0][2]==1:
      print("Late blight")
    elif classes[0][3]==1:
      print("Leaf Mold")
    elif classes[0][4]==1:
      print("Septoria Leaf Spot")
    elif classes[0][5]==1:
      print("Spider Mites")
    elif classes[0][6]==1:
      print("Target Spot")
    elif classes[0][7]==1:
      print("Tomato Yellow Leaf Curl Virus")
    elif classes[0][8]==1:
      print("Tomato Mosaic Virus")
    else:
      print("Healthy")
Upload widget is only available when the cell has been executed in the current browser session. Please rerun this cell to enable.
Saving mosaic.jpg to mosaic (1).jpg
1/1 [==============================] - 0s 144ms/step
3
Leaf Mold

Klasifikasi PEDANTO VGG16

Modules dan Packages

In [ ]:
# Basic Imports
import numpy as np
import matplotlib.pyplot as plt
from glob import glob
from PIL import Image

# Imports untuk membangun CNN
from keras.layers import Input, Lambda, Dense, Flatten
from keras.models import Model
from keras.applications.vgg16 import VGG16
from keras.applications.vgg16 import preprocess_input
from keras.preprocessing import image
from keras.preprocessing.image import ImageDataGenerator
from keras.models import Sequential, load_model

# Ignore Warnings
import warnings
warnings.filterwarnings("ignore")

Import Dataset

In [ ]:
# Membuat semua foto ter-resize pada ukuran 224x224
IMAGE_SIZE = [224, 224]

categories = ["Tomato___Bacterial_spot", "Tomato___Early_blight", "Tomato___Healthy", "Tomato___Late_blight", 
              "Tomato___Leaf_Mold", "Tomato___Mosaic_virus", "Tomato___Septoria_leaf_spot", "Tomato___Spider_mites", "Tomato___Target_Spot", "Tomato___Yellow_Leaf_Curl_Virus"]

# Mencari file yang terkait pada folder dataset
train_path = '/content/gdrive/MyDrive/Colab Notebooks/dataset8020/train/'
test_path = '/content/gdrive/MyDrive/Colab Notebooks/dataset8020/val/'

Data Preprocessing

In [ ]:
def normalize(input_image, input_mask):
    input_image = tf.cast(input_image, tf.float32) / 255.0
    input_mask -= 1
  
    return input_image, input_mask

VGG16

VGG16 Keras Model untuk Klasifikasi Gambar

In [ ]:
# Menambahkan Layer untuk Preprocessing pada VGG
vgg = VGG16(input_shape = IMAGE_SIZE + [3], 
            weights = 'imagenet',
            include_top=False)
In [ ]:
# Untuk perintah menolak men training data yang telah digunakan sebelumnya
for layer in vgg.layers:
  layer.trainable = False
In [ ]:
# Folders in the Training Set
folders = glob('/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/*')
folders
Out[ ]:
['/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Spider_mites',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Septoria_leaf_spot',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Late_blight',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Mosaic_virus',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Leaf_Mold',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Healthy',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Bacterial_spot',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Early_blight',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Target_Spot',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Yellow_Leaf_Curl_Virus']

Menambah Layer pada Model VGG16

In [ ]:
x = Flatten()(vgg.output)
x = Dense(1000, activation='relu')(x)

# Lapisan Terakhir dengan aktivasi softmax untuk output biner 
prediction = Dense(len(categories), activation='softmax')(x)
In [ ]:
# Membuat obbjek model 
model = Model(inputs=vgg.input, outputs=prediction)

# Melihat struktur model
model.summary()
Model: "model_1"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 input_2 (InputLayer)        [(None, 224, 224, 3)]     0         
                                                                 
 block1_conv1 (Conv2D)       (None, 224, 224, 64)      1792      
                                                                 
 block1_conv2 (Conv2D)       (None, 224, 224, 64)      36928     
                                                                 
 block1_pool (MaxPooling2D)  (None, 112, 112, 64)      0         
                                                                 
 block2_conv1 (Conv2D)       (None, 112, 112, 128)     73856     
                                                                 
 block2_conv2 (Conv2D)       (None, 112, 112, 128)     147584    
                                                                 
 block2_pool (MaxPooling2D)  (None, 56, 56, 128)       0         
                                                                 
 block3_conv1 (Conv2D)       (None, 56, 56, 256)       295168    
                                                                 
 block3_conv2 (Conv2D)       (None, 56, 56, 256)       590080    
                                                                 
 block3_conv3 (Conv2D)       (None, 56, 56, 256)       590080    
                                                                 
 block3_pool (MaxPooling2D)  (None, 28, 28, 256)       0         
                                                                 
 block4_conv1 (Conv2D)       (None, 28, 28, 512)       1180160   
                                                                 
 block4_conv2 (Conv2D)       (None, 28, 28, 512)       2359808   
                                                                 
 block4_conv3 (Conv2D)       (None, 28, 28, 512)       2359808   
                                                                 
 block4_pool (MaxPooling2D)  (None, 14, 14, 512)       0         
                                                                 
 block5_conv1 (Conv2D)       (None, 14, 14, 512)       2359808   
                                                                 
 block5_conv2 (Conv2D)       (None, 14, 14, 512)       2359808   
                                                                 
 block5_conv3 (Conv2D)       (None, 14, 14, 512)       2359808   
                                                                 
 block5_pool (MaxPooling2D)  (None, 7, 7, 512)         0         
                                                                 
 flatten_1 (Flatten)         (None, 25088)             0         
                                                                 
 dense_2 (Dense)             (None, 1000)              25089000  
                                                                 
 dense_3 (Dense)             (None, 10)                10010     
                                                                 
=================================================================
Total params: 39,813,698
Trainable params: 25,099,010
Non-trainable params: 14,714,688
_________________________________________________________________

Compile Model

In [ ]:
# tell the model what cost and optimization method to use
model.compile(
  loss='categorical_crossentropy',
  optimizer='adam',
  metrics=['accuracy']
)

Preparing Image For Model

In [ ]:
train_datagen = ImageDataGenerator(rescale = 1./255,
                                   shear_range = 0.2,
                                   zoom_range = 0.2,
                                   horizontal_flip = True)

test_datagen = ImageDataGenerator(rescale = 1./255)
In [ ]:
training_set = train_datagen.flow_from_directory(train_path,
                                                 target_size = (224, 224),
                                                 batch_size = 32,
                                                 class_mode = 'categorical')

test_set = test_datagen.flow_from_directory(test_path,
                                            target_size = (224, 224),
                                            batch_size = 32,
                                            class_mode = 'categorical')
Found 8000 images belonging to 10 classes.
Found 2000 images belonging to 10 classes.

Train Model

In [ ]:
# Mencocokan model
r = model.fit_generator(
  training_set,
  validation_data=test_set,
  epochs=5,
  steps_per_epoch=len(training_set),
  validation_steps=len(test_set)
)
Epoch 1/5
250/250 [==============================] - 3828s 15s/step - loss: 1.4204 - accuracy: 0.6785 - val_loss: 0.5440 - val_accuracy: 0.8035
Epoch 2/5
250/250 [==============================] - 117s 469ms/step - loss: 0.5472 - accuracy: 0.8126 - val_loss: 0.4228 - val_accuracy: 0.8455
Epoch 3/5
250/250 [==============================] - 118s 470ms/step - loss: 0.3846 - accuracy: 0.8696 - val_loss: 0.3903 - val_accuracy: 0.8685
Epoch 4/5
250/250 [==============================] - 118s 472ms/step - loss: 0.3630 - accuracy: 0.8710 - val_loss: 0.3219 - val_accuracy: 0.8870
Epoch 5/5
250/250 [==============================] - 117s 468ms/step - loss: 0.3021 - accuracy: 0.8931 - val_loss: 0.2770 - val_accuracy: 0.9050

Visualization Loss And Accuracy

In [ ]:
# Plot the Loss and Accuracy
# Loss
model.evaluate(test_set)
plt.plot(r.history['loss'], label='train loss')
plt.plot(r.history['val_loss'], label='val loss')
plt.legend()
plt.show()
plt.savefig('LossVal_loss')

# Accuracy
plt.plot(r.history['accuracy'], label='train acc')
plt.plot(r.history['val_accuracy'], label='val acc')
plt.legend()
plt.show()
plt.savefig('AccVal_acc')
63/63 [==============================] - 10s 151ms/step - loss: 0.2770 - accuracy: 0.9050
<Figure size 432x288 with 0 Axes>

Menyimpan Model

In [ ]:
# Saving the model as a h5 file

from tensorflow.keras.models import load_model
model.save('vgg16_model.h5')

Load Model

In [ ]:
model = load_model('vgg16_model.h5')

Predict

In [ ]:
y_pred = model.predict(test_set)
63/63 [==============================] - 11s 168ms/step
In [ ]:
y_pred
Out[ ]:
array([[1.5418239e-04, 7.6563996e-03, 3.5058329e-05, ..., 5.9890544e-01,
        6.0090553e-02, 5.9241982e-04],
       [1.9848589e-09, 3.0925603e-06, 6.3380703e-08, ..., 1.1981122e-05,
        8.5274069e-06, 2.9561184e-08],
       [2.8317691e-05, 2.0588029e-03, 1.0515270e-06, ..., 1.4159037e-02,
        1.1849840e-02, 1.9398154e-04],
       ...,
       [4.0504841e-05, 2.2264179e-04, 2.0513899e-07, ..., 4.9343280e-04,
        4.1385425e-05, 9.9880099e-01],
       [5.0203088e-03, 2.8763310e-05, 4.9834182e-07, ..., 8.6154260e-02,
        9.0686584e-01, 2.8586022e-05],
       [3.1297377e-06, 9.3861883e-05, 1.5117957e-05, ..., 9.9851545e-03,
        8.8743404e-02, 9.8697354e-05]], dtype=float32)
In [ ]:
y_pred = np.argmax(y_pred, axis=1)
In [ ]:
y_pred
Out[ ]:
array([7, 5, 4, ..., 9, 8, 4])
In [ ]:
loss_final, accuracy_final = model.evaluate(test_set)
63/63 [==============================] - 14s 219ms/step - loss: 0.2770 - accuracy: 0.9050
In [ ]:
print("Final loss: {:.2f}".format(loss_final))
print("Final accuracy: {:.2f}".format(accuracy_final))
Final loss: 0.28
Final accuracy: 0.90

Predict Insert Image

In [ ]:
from google.colab import drive
drive.mount('/content/drive')
Mounted at /content/drive
In [ ]:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import tensorflow as tf
from tensorflow.keras.preprocessing import image
from google.colab import files

uploaded = files.upload()

for fn in uploaded.keys():
 
  # predicting images
    path = '/content/' + fn
    img = image.load_img(path, target_size=(224, 224))
    x = image.img_to_array(img)
    plt.imshow(x/255.)
    x = np.expand_dims(x, axis=0)
    images = np.vstack([x])
    classes = model.predict(images, batch_size=32)
    index = tf.argmax(classes[0], axis=0)
    print(classes[0])
    if classes[0][0]==1:
      print("Bacterial spot")
    elif classes[0][1]==1:
      print("Early blight")
    elif classes[0][2]==1:
      print("Late blight")
    elif classes[0][3]==1:
      print("Leaf Mold")
    elif classes[0][4]==1:
      print("Septoria Leaf Spot")
    elif classes[0][5]==1:
      print("Spider Mites")
    elif classes[0][6]==1:
      print("Target Spot")
    elif classes[0][7]==1:
      print("Tomato Yellow Leaf Curl Virus")
    elif classes[0][8]==1:
      print("Tomato Mosaic Virus")
    else:
      print("Healthy")
Upload widget is only available when the cell has been executed in the current browser session. Please rerun this cell to enable.
Saving healthy.jpg to healthy.jpg
1/1 [==============================] - 1s 782ms/step
1
Early blight

Klasifikasi PEDANTO RESNET152V2

Modules & Packages

In [1]:
# Basic Imports
import numpy as np
import matplotlib.pyplot as plt
from glob import glob
from PIL import Image

# Imports untuk membangun model
from tensorflow import keras
from keras.models import Model
from tensorflow.keras.applications import ResNet152V2
from tensorflow.keras.layers import GlobalAveragePooling2D, Dense
from keras.preprocessing import image
from keras.preprocessing.image import ImageDataGenerator
from keras.models import Sequential, load_model

# Ignore Warnings
import warnings
warnings.filterwarnings("ignore")

Import Dataset

In [2]:
from google.colab import drive
drive.mount("/content/gdrive")
Mounted at /content/gdrive
In [3]:
import os
os.chdir('/content/gdrive/MyDrive/Colab Notebooks/dataset8020/')
os.listdir()
Out[3]:
['vgg16_model.h5',
 'model_inception.h5',
 'model_Resnet152V2.h5',
 'train',
 'val',
 'model_resnet152V2.h5']
In [4]:
# Folders in the Train Set
folders = glob('/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/*')
folders
Out[4]:
['/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Bacterial_spot',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Early_blight',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Healthy',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Late_blight',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Leaf_Mold',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Mosaic_virus',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Septoria_leaf_spot',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Spider_mites',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Target_Spot',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/train/Tomato___Yellow_Leaf_Curl_Virus']
In [5]:
# Folders in the Test Set
folders = glob('/content/gdrive/My Drive/Colab Notebooks/dataset8020/val/*')
folders
Out[5]:
['/content/gdrive/My Drive/Colab Notebooks/dataset8020/val/Tomato___Bacterial_spot',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/val/Tomato___Early_blight',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/val/Tomato___Healthy',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/val/Tomato___Late_blight',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/val/Tomato___Leaf_Mold',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/val/Tomato___Mosaic_virus',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/val/Tomato___Septoria_leaf_spot',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/val/Tomato___Spider_mites',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/val/Tomato___Target_Spot',
 '/content/gdrive/My Drive/Colab Notebooks/dataset8020/val/Tomato___Yellow_Leaf_Curl_Virus']
In [6]:
#Forming Dataset
datagen = keras.preprocessing.image.ImageDataGenerator(rescale=1/255)

# Training and validation dataset
train = datagen.flow_from_directory('/content/gdrive/MyDrive/Colab Notebooks/dataset8020/train/', seed=123, subset='training')

# Test dataset for evaluation
datagen2 = keras.preprocessing.image.ImageDataGenerator(rescale=1/255)

test = datagen2.flow_from_directory('/content/gdrive/MyDrive/Colab Notebooks/dataset8020/val/')
Found 8000 images belonging to 10 classes.
Found 2000 images belonging to 10 classes.

Exploratory Data Analysis

In [7]:
# Training data visualization

classes = os.listdir('/content/gdrive/MyDrive/Colab Notebooks/dataset8020/train')

plt.figure(figsize=(25,10))

for i in enumerate(classes):
    pic = os.listdir('/content/gdrive/MyDrive/Colab Notebooks/dataset8020/train/'+i[1])[0]
    image = Image.open('/content/gdrive/MyDrive/Colab Notebooks/dataset8020/train/'+i[1]+'/'+pic)
    image = np.asarray(image)
    plt.subplot(2,5,i[0]+1)
    plt.title('{0} / Shape = {1}'.format(i[1], image.shape))
    plt.imshow(image)
plt.show()

Data Preprocessing

In [8]:
def normalize(input_image, input_mask):
    input_image = tf.cast(input_image, tf.float32) / 255.0
    input_mask -= 1
  
    return input_image, input_mask

Model RESNET152V2

In [9]:
# Function to initialize model (ResNet152V2)

def get_model():
    
    base_model = ResNet152V2(input_shape=(256,256,3), include_top=False)
    
    for layers in base_model.layers[:140]:
        layers.trainable = False
    for layers in base_model.layers[140:]:
        layers.trainable = True
        
    
    x = base_model.output
    x = GlobalAveragePooling2D()(x)
    x = Dense(1000, activation='relu')(x)
    pred = Dense(10, activation='softmax')(x)
    
    model = Model(inputs=base_model.input, outputs=pred)
    
    return model
In [10]:
# Model initialization
model = get_model()
model.summary()
Downloading data from https://storage.googleapis.com/tensorflow/keras-applications/resnet/resnet152v2_weights_tf_dim_ordering_tf_kernels_notop.h5
234545216/234545216 [==============================] - 11s 0us/step
Model: "model"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to                     
==================================================================================================
 input_1 (InputLayer)           [(None, 256, 256, 3  0           []                               
                                )]                                                                
                                                                                                  
 conv1_pad (ZeroPadding2D)      (None, 262, 262, 3)  0           ['input_1[0][0]']                
                                                                                                  
 conv1_conv (Conv2D)            (None, 128, 128, 64  9472        ['conv1_pad[0][0]']              
                                )                                                                 
                                                                                                  
 pool1_pad (ZeroPadding2D)      (None, 130, 130, 64  0           ['conv1_conv[0][0]']             
                                )                                                                 
                                                                                                  
 pool1_pool (MaxPooling2D)      (None, 64, 64, 64)   0           ['pool1_pad[0][0]']              
                                                                                                  
 conv2_block1_preact_bn (BatchN  (None, 64, 64, 64)  256         ['pool1_pool[0][0]']             
 ormalization)                                                                                    
                                                                                                  
 conv2_block1_preact_relu (Acti  (None, 64, 64, 64)  0           ['conv2_block1_preact_bn[0][0]'] 
 vation)                                                                                          
                                                                                                  
 conv2_block1_1_conv (Conv2D)   (None, 64, 64, 64)   4096        ['conv2_block1_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv2_block1_1_bn (BatchNormal  (None, 64, 64, 64)  256         ['conv2_block1_1_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv2_block1_1_relu (Activatio  (None, 64, 64, 64)  0           ['conv2_block1_1_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv2_block1_2_pad (ZeroPaddin  (None, 66, 66, 64)  0           ['conv2_block1_1_relu[0][0]']    
 g2D)                                                                                             
                                                                                                  
 conv2_block1_2_conv (Conv2D)   (None, 64, 64, 64)   36864       ['conv2_block1_2_pad[0][0]']     
                                                                                                  
 conv2_block1_2_bn (BatchNormal  (None, 64, 64, 64)  256         ['conv2_block1_2_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv2_block1_2_relu (Activatio  (None, 64, 64, 64)  0           ['conv2_block1_2_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv2_block1_0_conv (Conv2D)   (None, 64, 64, 256)  16640       ['conv2_block1_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv2_block1_3_conv (Conv2D)   (None, 64, 64, 256)  16640       ['conv2_block1_2_relu[0][0]']    
                                                                                                  
 conv2_block1_out (Add)         (None, 64, 64, 256)  0           ['conv2_block1_0_conv[0][0]',    
                                                                  'conv2_block1_3_conv[0][0]']    
                                                                                                  
 conv2_block2_preact_bn (BatchN  (None, 64, 64, 256)  1024       ['conv2_block1_out[0][0]']       
 ormalization)                                                                                    
                                                                                                  
 conv2_block2_preact_relu (Acti  (None, 64, 64, 256)  0          ['conv2_block2_preact_bn[0][0]'] 
 vation)                                                                                          
                                                                                                  
 conv2_block2_1_conv (Conv2D)   (None, 64, 64, 64)   16384       ['conv2_block2_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv2_block2_1_bn (BatchNormal  (None, 64, 64, 64)  256         ['conv2_block2_1_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv2_block2_1_relu (Activatio  (None, 64, 64, 64)  0           ['conv2_block2_1_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv2_block2_2_pad (ZeroPaddin  (None, 66, 66, 64)  0           ['conv2_block2_1_relu[0][0]']    
 g2D)                                                                                             
                                                                                                  
 conv2_block2_2_conv (Conv2D)   (None, 64, 64, 64)   36864       ['conv2_block2_2_pad[0][0]']     
                                                                                                  
 conv2_block2_2_bn (BatchNormal  (None, 64, 64, 64)  256         ['conv2_block2_2_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv2_block2_2_relu (Activatio  (None, 64, 64, 64)  0           ['conv2_block2_2_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv2_block2_3_conv (Conv2D)   (None, 64, 64, 256)  16640       ['conv2_block2_2_relu[0][0]']    
                                                                                                  
 conv2_block2_out (Add)         (None, 64, 64, 256)  0           ['conv2_block1_out[0][0]',       
                                                                  'conv2_block2_3_conv[0][0]']    
                                                                                                  
 conv2_block3_preact_bn (BatchN  (None, 64, 64, 256)  1024       ['conv2_block2_out[0][0]']       
 ormalization)                                                                                    
                                                                                                  
 conv2_block3_preact_relu (Acti  (None, 64, 64, 256)  0          ['conv2_block3_preact_bn[0][0]'] 
 vation)                                                                                          
                                                                                                  
 conv2_block3_1_conv (Conv2D)   (None, 64, 64, 64)   16384       ['conv2_block3_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv2_block3_1_bn (BatchNormal  (None, 64, 64, 64)  256         ['conv2_block3_1_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv2_block3_1_relu (Activatio  (None, 64, 64, 64)  0           ['conv2_block3_1_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv2_block3_2_pad (ZeroPaddin  (None, 66, 66, 64)  0           ['conv2_block3_1_relu[0][0]']    
 g2D)                                                                                             
                                                                                                  
 conv2_block3_2_conv (Conv2D)   (None, 32, 32, 64)   36864       ['conv2_block3_2_pad[0][0]']     
                                                                                                  
 conv2_block3_2_bn (BatchNormal  (None, 32, 32, 64)  256         ['conv2_block3_2_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv2_block3_2_relu (Activatio  (None, 32, 32, 64)  0           ['conv2_block3_2_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 max_pooling2d (MaxPooling2D)   (None, 32, 32, 256)  0           ['conv2_block2_out[0][0]']       
                                                                                                  
 conv2_block3_3_conv (Conv2D)   (None, 32, 32, 256)  16640       ['conv2_block3_2_relu[0][0]']    
                                                                                                  
 conv2_block3_out (Add)         (None, 32, 32, 256)  0           ['max_pooling2d[0][0]',          
                                                                  'conv2_block3_3_conv[0][0]']    
                                                                                                  
 conv3_block1_preact_bn (BatchN  (None, 32, 32, 256)  1024       ['conv2_block3_out[0][0]']       
 ormalization)                                                                                    
                                                                                                  
 conv3_block1_preact_relu (Acti  (None, 32, 32, 256)  0          ['conv3_block1_preact_bn[0][0]'] 
 vation)                                                                                          
                                                                                                  
 conv3_block1_1_conv (Conv2D)   (None, 32, 32, 128)  32768       ['conv3_block1_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv3_block1_1_bn (BatchNormal  (None, 32, 32, 128)  512        ['conv3_block1_1_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv3_block1_1_relu (Activatio  (None, 32, 32, 128)  0          ['conv3_block1_1_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv3_block1_2_pad (ZeroPaddin  (None, 34, 34, 128)  0          ['conv3_block1_1_relu[0][0]']    
 g2D)                                                                                             
                                                                                                  
 conv3_block1_2_conv (Conv2D)   (None, 32, 32, 128)  147456      ['conv3_block1_2_pad[0][0]']     
                                                                                                  
 conv3_block1_2_bn (BatchNormal  (None, 32, 32, 128)  512        ['conv3_block1_2_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv3_block1_2_relu (Activatio  (None, 32, 32, 128)  0          ['conv3_block1_2_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv3_block1_0_conv (Conv2D)   (None, 32, 32, 512)  131584      ['conv3_block1_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv3_block1_3_conv (Conv2D)   (None, 32, 32, 512)  66048       ['conv3_block1_2_relu[0][0]']    
                                                                                                  
 conv3_block1_out (Add)         (None, 32, 32, 512)  0           ['conv3_block1_0_conv[0][0]',    
                                                                  'conv3_block1_3_conv[0][0]']    
                                                                                                  
 conv3_block2_preact_bn (BatchN  (None, 32, 32, 512)  2048       ['conv3_block1_out[0][0]']       
 ormalization)                                                                                    
                                                                                                  
 conv3_block2_preact_relu (Acti  (None, 32, 32, 512)  0          ['conv3_block2_preact_bn[0][0]'] 
 vation)                                                                                          
                                                                                                  
 conv3_block2_1_conv (Conv2D)   (None, 32, 32, 128)  65536       ['conv3_block2_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv3_block2_1_bn (BatchNormal  (None, 32, 32, 128)  512        ['conv3_block2_1_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv3_block2_1_relu (Activatio  (None, 32, 32, 128)  0          ['conv3_block2_1_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv3_block2_2_pad (ZeroPaddin  (None, 34, 34, 128)  0          ['conv3_block2_1_relu[0][0]']    
 g2D)                                                                                             
                                                                                                  
 conv3_block2_2_conv (Conv2D)   (None, 32, 32, 128)  147456      ['conv3_block2_2_pad[0][0]']     
                                                                                                  
 conv3_block2_2_bn (BatchNormal  (None, 32, 32, 128)  512        ['conv3_block2_2_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv3_block2_2_relu (Activatio  (None, 32, 32, 128)  0          ['conv3_block2_2_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv3_block2_3_conv (Conv2D)   (None, 32, 32, 512)  66048       ['conv3_block2_2_relu[0][0]']    
                                                                                                  
 conv3_block2_out (Add)         (None, 32, 32, 512)  0           ['conv3_block1_out[0][0]',       
                                                                  'conv3_block2_3_conv[0][0]']    
                                                                                                  
 conv3_block3_preact_bn (BatchN  (None, 32, 32, 512)  2048       ['conv3_block2_out[0][0]']       
 ormalization)                                                                                    
                                                                                                  
 conv3_block3_preact_relu (Acti  (None, 32, 32, 512)  0          ['conv3_block3_preact_bn[0][0]'] 
 vation)                                                                                          
                                                                                                  
 conv3_block3_1_conv (Conv2D)   (None, 32, 32, 128)  65536       ['conv3_block3_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv3_block3_1_bn (BatchNormal  (None, 32, 32, 128)  512        ['conv3_block3_1_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv3_block3_1_relu (Activatio  (None, 32, 32, 128)  0          ['conv3_block3_1_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv3_block3_2_pad (ZeroPaddin  (None, 34, 34, 128)  0          ['conv3_block3_1_relu[0][0]']    
 g2D)                                                                                             
                                                                                                  
 conv3_block3_2_conv (Conv2D)   (None, 32, 32, 128)  147456      ['conv3_block3_2_pad[0][0]']     
                                                                                                  
 conv3_block3_2_bn (BatchNormal  (None, 32, 32, 128)  512        ['conv3_block3_2_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv3_block3_2_relu (Activatio  (None, 32, 32, 128)  0          ['conv3_block3_2_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv3_block3_3_conv (Conv2D)   (None, 32, 32, 512)  66048       ['conv3_block3_2_relu[0][0]']    
                                                                                                  
 conv3_block3_out (Add)         (None, 32, 32, 512)  0           ['conv3_block2_out[0][0]',       
                                                                  'conv3_block3_3_conv[0][0]']    
                                                                                                  
 conv3_block4_preact_bn (BatchN  (None, 32, 32, 512)  2048       ['conv3_block3_out[0][0]']       
 ormalization)                                                                                    
                                                                                                  
 conv3_block4_preact_relu (Acti  (None, 32, 32, 512)  0          ['conv3_block4_preact_bn[0][0]'] 
 vation)                                                                                          
                                                                                                  
 conv3_block4_1_conv (Conv2D)   (None, 32, 32, 128)  65536       ['conv3_block4_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv3_block4_1_bn (BatchNormal  (None, 32, 32, 128)  512        ['conv3_block4_1_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv3_block4_1_relu (Activatio  (None, 32, 32, 128)  0          ['conv3_block4_1_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv3_block4_2_pad (ZeroPaddin  (None, 34, 34, 128)  0          ['conv3_block4_1_relu[0][0]']    
 g2D)                                                                                             
                                                                                                  
 conv3_block4_2_conv (Conv2D)   (None, 32, 32, 128)  147456      ['conv3_block4_2_pad[0][0]']     
                                                                                                  
 conv3_block4_2_bn (BatchNormal  (None, 32, 32, 128)  512        ['conv3_block4_2_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv3_block4_2_relu (Activatio  (None, 32, 32, 128)  0          ['conv3_block4_2_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv3_block4_3_conv (Conv2D)   (None, 32, 32, 512)  66048       ['conv3_block4_2_relu[0][0]']    
                                                                                                  
 conv3_block4_out (Add)         (None, 32, 32, 512)  0           ['conv3_block3_out[0][0]',       
                                                                  'conv3_block4_3_conv[0][0]']    
                                                                                                  
 conv3_block5_preact_bn (BatchN  (None, 32, 32, 512)  2048       ['conv3_block4_out[0][0]']       
 ormalization)                                                                                    
                                                                                                  
 conv3_block5_preact_relu (Acti  (None, 32, 32, 512)  0          ['conv3_block5_preact_bn[0][0]'] 
 vation)                                                                                          
                                                                                                  
 conv3_block5_1_conv (Conv2D)   (None, 32, 32, 128)  65536       ['conv3_block5_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv3_block5_1_bn (BatchNormal  (None, 32, 32, 128)  512        ['conv3_block5_1_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv3_block5_1_relu (Activatio  (None, 32, 32, 128)  0          ['conv3_block5_1_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv3_block5_2_pad (ZeroPaddin  (None, 34, 34, 128)  0          ['conv3_block5_1_relu[0][0]']    
 g2D)                                                                                             
                                                                                                  
 conv3_block5_2_conv (Conv2D)   (None, 32, 32, 128)  147456      ['conv3_block5_2_pad[0][0]']     
                                                                                                  
 conv3_block5_2_bn (BatchNormal  (None, 32, 32, 128)  512        ['conv3_block5_2_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv3_block5_2_relu (Activatio  (None, 32, 32, 128)  0          ['conv3_block5_2_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv3_block5_3_conv (Conv2D)   (None, 32, 32, 512)  66048       ['conv3_block5_2_relu[0][0]']    
                                                                                                  
 conv3_block5_out (Add)         (None, 32, 32, 512)  0           ['conv3_block4_out[0][0]',       
                                                                  'conv3_block5_3_conv[0][0]']    
                                                                                                  
 conv3_block6_preact_bn (BatchN  (None, 32, 32, 512)  2048       ['conv3_block5_out[0][0]']       
 ormalization)                                                                                    
                                                                                                  
 conv3_block6_preact_relu (Acti  (None, 32, 32, 512)  0          ['conv3_block6_preact_bn[0][0]'] 
 vation)                                                                                          
                                                                                                  
 conv3_block6_1_conv (Conv2D)   (None, 32, 32, 128)  65536       ['conv3_block6_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv3_block6_1_bn (BatchNormal  (None, 32, 32, 128)  512        ['conv3_block6_1_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv3_block6_1_relu (Activatio  (None, 32, 32, 128)  0          ['conv3_block6_1_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv3_block6_2_pad (ZeroPaddin  (None, 34, 34, 128)  0          ['conv3_block6_1_relu[0][0]']    
 g2D)                                                                                             
                                                                                                  
 conv3_block6_2_conv (Conv2D)   (None, 32, 32, 128)  147456      ['conv3_block6_2_pad[0][0]']     
                                                                                                  
 conv3_block6_2_bn (BatchNormal  (None, 32, 32, 128)  512        ['conv3_block6_2_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv3_block6_2_relu (Activatio  (None, 32, 32, 128)  0          ['conv3_block6_2_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv3_block6_3_conv (Conv2D)   (None, 32, 32, 512)  66048       ['conv3_block6_2_relu[0][0]']    
                                                                                                  
 conv3_block6_out (Add)         (None, 32, 32, 512)  0           ['conv3_block5_out[0][0]',       
                                                                  'conv3_block6_3_conv[0][0]']    
                                                                                                  
 conv3_block7_preact_bn (BatchN  (None, 32, 32, 512)  2048       ['conv3_block6_out[0][0]']       
 ormalization)                                                                                    
                                                                                                  
 conv3_block7_preact_relu (Acti  (None, 32, 32, 512)  0          ['conv3_block7_preact_bn[0][0]'] 
 vation)                                                                                          
                                                                                                  
 conv3_block7_1_conv (Conv2D)   (None, 32, 32, 128)  65536       ['conv3_block7_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv3_block7_1_bn (BatchNormal  (None, 32, 32, 128)  512        ['conv3_block7_1_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv3_block7_1_relu (Activatio  (None, 32, 32, 128)  0          ['conv3_block7_1_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv3_block7_2_pad (ZeroPaddin  (None, 34, 34, 128)  0          ['conv3_block7_1_relu[0][0]']    
 g2D)                                                                                             
                                                                                                  
 conv3_block7_2_conv (Conv2D)   (None, 32, 32, 128)  147456      ['conv3_block7_2_pad[0][0]']     
                                                                                                  
 conv3_block7_2_bn (BatchNormal  (None, 32, 32, 128)  512        ['conv3_block7_2_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv3_block7_2_relu (Activatio  (None, 32, 32, 128)  0          ['conv3_block7_2_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv3_block7_3_conv (Conv2D)   (None, 32, 32, 512)  66048       ['conv3_block7_2_relu[0][0]']    
                                                                                                  
 conv3_block7_out (Add)         (None, 32, 32, 512)  0           ['conv3_block6_out[0][0]',       
                                                                  'conv3_block7_3_conv[0][0]']    
                                                                                                  
 conv3_block8_preact_bn (BatchN  (None, 32, 32, 512)  2048       ['conv3_block7_out[0][0]']       
 ormalization)                                                                                    
                                                                                                  
 conv3_block8_preact_relu (Acti  (None, 32, 32, 512)  0          ['conv3_block8_preact_bn[0][0]'] 
 vation)                                                                                          
                                                                                                  
 conv3_block8_1_conv (Conv2D)   (None, 32, 32, 128)  65536       ['conv3_block8_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv3_block8_1_bn (BatchNormal  (None, 32, 32, 128)  512        ['conv3_block8_1_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv3_block8_1_relu (Activatio  (None, 32, 32, 128)  0          ['conv3_block8_1_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv3_block8_2_pad (ZeroPaddin  (None, 34, 34, 128)  0          ['conv3_block8_1_relu[0][0]']    
 g2D)                                                                                             
                                                                                                  
 conv3_block8_2_conv (Conv2D)   (None, 16, 16, 128)  147456      ['conv3_block8_2_pad[0][0]']     
                                                                                                  
 conv3_block8_2_bn (BatchNormal  (None, 16, 16, 128)  512        ['conv3_block8_2_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv3_block8_2_relu (Activatio  (None, 16, 16, 128)  0          ['conv3_block8_2_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 max_pooling2d_1 (MaxPooling2D)  (None, 16, 16, 512)  0          ['conv3_block7_out[0][0]']       
                                                                                                  
 conv3_block8_3_conv (Conv2D)   (None, 16, 16, 512)  66048       ['conv3_block8_2_relu[0][0]']    
                                                                                                  
 conv3_block8_out (Add)         (None, 16, 16, 512)  0           ['max_pooling2d_1[0][0]',        
                                                                  'conv3_block8_3_conv[0][0]']    
                                                                                                  
 conv4_block1_preact_bn (BatchN  (None, 16, 16, 512)  2048       ['conv3_block8_out[0][0]']       
 ormalization)                                                                                    
                                                                                                  
 conv4_block1_preact_relu (Acti  (None, 16, 16, 512)  0          ['conv4_block1_preact_bn[0][0]'] 
 vation)                                                                                          
                                                                                                  
 conv4_block1_1_conv (Conv2D)   (None, 16, 16, 256)  131072      ['conv4_block1_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv4_block1_1_bn (BatchNormal  (None, 16, 16, 256)  1024       ['conv4_block1_1_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv4_block1_1_relu (Activatio  (None, 16, 16, 256)  0          ['conv4_block1_1_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv4_block1_2_pad (ZeroPaddin  (None, 18, 18, 256)  0          ['conv4_block1_1_relu[0][0]']    
 g2D)                                                                                             
                                                                                                  
 conv4_block1_2_conv (Conv2D)   (None, 16, 16, 256)  589824      ['conv4_block1_2_pad[0][0]']     
                                                                                                  
 conv4_block1_2_bn (BatchNormal  (None, 16, 16, 256)  1024       ['conv4_block1_2_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv4_block1_2_relu (Activatio  (None, 16, 16, 256)  0          ['conv4_block1_2_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv4_block1_0_conv (Conv2D)   (None, 16, 16, 1024  525312      ['conv4_block1_preact_relu[0][0]'
                                )                                ]                                
                                                                                                  
 conv4_block1_3_conv (Conv2D)   (None, 16, 16, 1024  263168      ['conv4_block1_2_relu[0][0]']    
                                )                                                                 
                                                                                                  
 conv4_block1_out (Add)         (None, 16, 16, 1024  0           ['conv4_block1_0_conv[0][0]',    
                                )                                 'conv4_block1_3_conv[0][0]']    
                                                                                                  
 conv4_block2_preact_bn (BatchN  (None, 16, 16, 1024  4096       ['conv4_block1_out[0][0]']       
 ormalization)                  )                                                                 
                                                                                                  
 conv4_block2_preact_relu (Acti  (None, 16, 16, 1024  0          ['conv4_block2_preact_bn[0][0]'] 
 vation)                        )                                                                 
                                                                                                  
 conv4_block2_1_conv (Conv2D)   (None, 16, 16, 256)  262144      ['conv4_block2_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv4_block2_1_bn (BatchNormal  (None, 16, 16, 256)  1024       ['conv4_block2_1_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv4_block2_1_relu (Activatio  (None, 16, 16, 256)  0          ['conv4_block2_1_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv4_block2_2_pad (ZeroPaddin  (None, 18, 18, 256)  0          ['conv4_block2_1_relu[0][0]']    
 g2D)                                                                                             
                                                                                                  
 conv4_block2_2_conv (Conv2D)   (None, 16, 16, 256)  589824      ['conv4_block2_2_pad[0][0]']     
                                                                                                  
 conv4_block2_2_bn (BatchNormal  (None, 16, 16, 256)  1024       ['conv4_block2_2_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv4_block2_2_relu (Activatio  (None, 16, 16, 256)  0          ['conv4_block2_2_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv4_block2_3_conv (Conv2D)   (None, 16, 16, 1024  263168      ['conv4_block2_2_relu[0][0]']    
                                )                                                                 
                                                                                                  
 conv4_block2_out (Add)         (None, 16, 16, 1024  0           ['conv4_block1_out[0][0]',       
                                )                                 'conv4_block2_3_conv[0][0]']    
                                                                                                  
 conv4_block3_preact_bn (BatchN  (None, 16, 16, 1024  4096       ['conv4_block2_out[0][0]']       
 ormalization)                  )                                                                 
                                                                                                  
 conv4_block3_preact_relu (Acti  (None, 16, 16, 1024  0          ['conv4_block3_preact_bn[0][0]'] 
 vation)                        )                                                                 
                                                                                                  
 conv4_block3_1_conv (Conv2D)   (None, 16, 16, 256)  262144      ['conv4_block3_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv4_block3_1_bn (BatchNormal  (None, 16, 16, 256)  1024       ['conv4_block3_1_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv4_block3_1_relu (Activatio  (None, 16, 16, 256)  0          ['conv4_block3_1_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv4_block3_2_pad (ZeroPaddin  (None, 18, 18, 256)  0          ['conv4_block3_1_relu[0][0]']    
 g2D)                                                                                             
                                                                                                  
 conv4_block3_2_conv (Conv2D)   (None, 16, 16, 256)  589824      ['conv4_block3_2_pad[0][0]']     
                                                                                                  
 conv4_block3_2_bn (BatchNormal  (None, 16, 16, 256)  1024       ['conv4_block3_2_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv4_block3_2_relu (Activatio  (None, 16, 16, 256)  0          ['conv4_block3_2_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv4_block3_3_conv (Conv2D)   (None, 16, 16, 1024  263168      ['conv4_block3_2_relu[0][0]']    
                                )                                                                 
                                                                                                  
 conv4_block3_out (Add)         (None, 16, 16, 1024  0           ['conv4_block2_out[0][0]',       
                                )                                 'conv4_block3_3_conv[0][0]']    
                                                                                                  
 conv4_block4_preact_bn (BatchN  (None, 16, 16, 1024  4096       ['conv4_block3_out[0][0]']       
 ormalization)                  )                                                                 
                                                                                                  
 conv4_block4_preact_relu (Acti  (None, 16, 16, 1024  0          ['conv4_block4_preact_bn[0][0]'] 
 vation)                        )                                                                 
                                                                                                  
 conv4_block4_1_conv (Conv2D)   (None, 16, 16, 256)  262144      ['conv4_block4_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv4_block4_1_bn (BatchNormal  (None, 16, 16, 256)  1024       ['conv4_block4_1_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv4_block4_1_relu (Activatio  (None, 16, 16, 256)  0          ['conv4_block4_1_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv4_block4_2_pad (ZeroPaddin  (None, 18, 18, 256)  0          ['conv4_block4_1_relu[0][0]']    
 g2D)                                                                                             
                                                                                                  
 conv4_block4_2_conv (Conv2D)   (None, 16, 16, 256)  589824      ['conv4_block4_2_pad[0][0]']     
                                                                                                  
 conv4_block4_2_bn (BatchNormal  (None, 16, 16, 256)  1024       ['conv4_block4_2_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv4_block4_2_relu (Activatio  (None, 16, 16, 256)  0          ['conv4_block4_2_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv4_block4_3_conv (Conv2D)   (None, 16, 16, 1024  263168      ['conv4_block4_2_relu[0][0]']    
                                )                                                                 
                                                                                                  
 conv4_block4_out (Add)         (None, 16, 16, 1024  0           ['conv4_block3_out[0][0]',       
                                )                                 'conv4_block4_3_conv[0][0]']    
                                                                                                  
 conv4_block5_preact_bn (BatchN  (None, 16, 16, 1024  4096       ['conv4_block4_out[0][0]']       
 ormalization)                  )                                                                 
                                                                                                  
 conv4_block5_preact_relu (Acti  (None, 16, 16, 1024  0          ['conv4_block5_preact_bn[0][0]'] 
 vation)                        )                                                                 
                                                                                                  
 conv4_block5_1_conv (Conv2D)   (None, 16, 16, 256)  262144      ['conv4_block5_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv4_block5_1_bn (BatchNormal  (None, 16, 16, 256)  1024       ['conv4_block5_1_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv4_block5_1_relu (Activatio  (None, 16, 16, 256)  0          ['conv4_block5_1_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv4_block5_2_pad (ZeroPaddin  (None, 18, 18, 256)  0          ['conv4_block5_1_relu[0][0]']    
 g2D)                                                                                             
                                                                                                  
 conv4_block5_2_conv (Conv2D)   (None, 16, 16, 256)  589824      ['conv4_block5_2_pad[0][0]']     
                                                                                                  
 conv4_block5_2_bn (BatchNormal  (None, 16, 16, 256)  1024       ['conv4_block5_2_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv4_block5_2_relu (Activatio  (None, 16, 16, 256)  0          ['conv4_block5_2_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv4_block5_3_conv (Conv2D)   (None, 16, 16, 1024  263168      ['conv4_block5_2_relu[0][0]']    
                                )                                                                 
                                                                                                  
 conv4_block5_out (Add)         (None, 16, 16, 1024  0           ['conv4_block4_out[0][0]',       
                                )                                 'conv4_block5_3_conv[0][0]']    
                                                                                                  
 conv4_block6_preact_bn (BatchN  (None, 16, 16, 1024  4096       ['conv4_block5_out[0][0]']       
 ormalization)                  )                                                                 
                                                                                                  
 conv4_block6_preact_relu (Acti  (None, 16, 16, 1024  0          ['conv4_block6_preact_bn[0][0]'] 
 vation)                        )                                                                 
                                                                                                  
 conv4_block6_1_conv (Conv2D)   (None, 16, 16, 256)  262144      ['conv4_block6_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv4_block6_1_bn (BatchNormal  (None, 16, 16, 256)  1024       ['conv4_block6_1_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv4_block6_1_relu (Activatio  (None, 16, 16, 256)  0          ['conv4_block6_1_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv4_block6_2_pad (ZeroPaddin  (None, 18, 18, 256)  0          ['conv4_block6_1_relu[0][0]']    
 g2D)                                                                                             
                                                                                                  
 conv4_block6_2_conv (Conv2D)   (None, 16, 16, 256)  589824      ['conv4_block6_2_pad[0][0]']     
                                                                                                  
 conv4_block6_2_bn (BatchNormal  (None, 16, 16, 256)  1024       ['conv4_block6_2_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv4_block6_2_relu (Activatio  (None, 16, 16, 256)  0          ['conv4_block6_2_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv4_block6_3_conv (Conv2D)   (None, 16, 16, 1024  263168      ['conv4_block6_2_relu[0][0]']    
                                )                                                                 
                                                                                                  
 conv4_block6_out (Add)         (None, 16, 16, 1024  0           ['conv4_block5_out[0][0]',       
                                )                                 'conv4_block6_3_conv[0][0]']    
                                                                                                  
 conv4_block7_preact_bn (BatchN  (None, 16, 16, 1024  4096       ['conv4_block6_out[0][0]']       
 ormalization)                  )                                                                 
                                                                                                  
 conv4_block7_preact_relu (Acti  (None, 16, 16, 1024  0          ['conv4_block7_preact_bn[0][0]'] 
 vation)                        )                                                                 
                                                                                                  
 conv4_block7_1_conv (Conv2D)   (None, 16, 16, 256)  262144      ['conv4_block7_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv4_block7_1_bn (BatchNormal  (None, 16, 16, 256)  1024       ['conv4_block7_1_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv4_block7_1_relu (Activatio  (None, 16, 16, 256)  0          ['conv4_block7_1_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv4_block7_2_pad (ZeroPaddin  (None, 18, 18, 256)  0          ['conv4_block7_1_relu[0][0]']    
 g2D)                                                                                             
                                                                                                  
 conv4_block7_2_conv (Conv2D)   (None, 16, 16, 256)  589824      ['conv4_block7_2_pad[0][0]']     
                                                                                                  
 conv4_block7_2_bn (BatchNormal  (None, 16, 16, 256)  1024       ['conv4_block7_2_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv4_block7_2_relu (Activatio  (None, 16, 16, 256)  0          ['conv4_block7_2_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv4_block7_3_conv (Conv2D)   (None, 16, 16, 1024  263168      ['conv4_block7_2_relu[0][0]']    
                                )                                                                 
                                                                                                  
 conv4_block7_out (Add)         (None, 16, 16, 1024  0           ['conv4_block6_out[0][0]',       
                                )                                 'conv4_block7_3_conv[0][0]']    
                                                                                                  
 conv4_block8_preact_bn (BatchN  (None, 16, 16, 1024  4096       ['conv4_block7_out[0][0]']       
 ormalization)                  )                                                                 
                                                                                                  
 conv4_block8_preact_relu (Acti  (None, 16, 16, 1024  0          ['conv4_block8_preact_bn[0][0]'] 
 vation)                        )                                                                 
                                                                                                  
 conv4_block8_1_conv (Conv2D)   (None, 16, 16, 256)  262144      ['conv4_block8_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv4_block8_1_bn (BatchNormal  (None, 16, 16, 256)  1024       ['conv4_block8_1_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv4_block8_1_relu (Activatio  (None, 16, 16, 256)  0          ['conv4_block8_1_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv4_block8_2_pad (ZeroPaddin  (None, 18, 18, 256)  0          ['conv4_block8_1_relu[0][0]']    
 g2D)                                                                                             
                                                                                                  
 conv4_block8_2_conv (Conv2D)   (None, 16, 16, 256)  589824      ['conv4_block8_2_pad[0][0]']     
                                                                                                  
 conv4_block8_2_bn (BatchNormal  (None, 16, 16, 256)  1024       ['conv4_block8_2_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv4_block8_2_relu (Activatio  (None, 16, 16, 256)  0          ['conv4_block8_2_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv4_block8_3_conv (Conv2D)   (None, 16, 16, 1024  263168      ['conv4_block8_2_relu[0][0]']    
                                )                                                                 
                                                                                                  
 conv4_block8_out (Add)         (None, 16, 16, 1024  0           ['conv4_block7_out[0][0]',       
                                )                                 'conv4_block8_3_conv[0][0]']    
                                                                                                  
 conv4_block9_preact_bn (BatchN  (None, 16, 16, 1024  4096       ['conv4_block8_out[0][0]']       
 ormalization)                  )                                                                 
                                                                                                  
 conv4_block9_preact_relu (Acti  (None, 16, 16, 1024  0          ['conv4_block9_preact_bn[0][0]'] 
 vation)                        )                                                                 
                                                                                                  
 conv4_block9_1_conv (Conv2D)   (None, 16, 16, 256)  262144      ['conv4_block9_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv4_block9_1_bn (BatchNormal  (None, 16, 16, 256)  1024       ['conv4_block9_1_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv4_block9_1_relu (Activatio  (None, 16, 16, 256)  0          ['conv4_block9_1_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv4_block9_2_pad (ZeroPaddin  (None, 18, 18, 256)  0          ['conv4_block9_1_relu[0][0]']    
 g2D)                                                                                             
                                                                                                  
 conv4_block9_2_conv (Conv2D)   (None, 16, 16, 256)  589824      ['conv4_block9_2_pad[0][0]']     
                                                                                                  
 conv4_block9_2_bn (BatchNormal  (None, 16, 16, 256)  1024       ['conv4_block9_2_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv4_block9_2_relu (Activatio  (None, 16, 16, 256)  0          ['conv4_block9_2_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv4_block9_3_conv (Conv2D)   (None, 16, 16, 1024  263168      ['conv4_block9_2_relu[0][0]']    
                                )                                                                 
                                                                                                  
 conv4_block9_out (Add)         (None, 16, 16, 1024  0           ['conv4_block8_out[0][0]',       
                                )                                 'conv4_block9_3_conv[0][0]']    
                                                                                                  
 conv4_block10_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block9_out[0][0]']       
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block10_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block10_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block10_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block10_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block10_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block10_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block10_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block10_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block10_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block10_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block10_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block10_2_pad[0][0]']    
                                                                                                  
 conv4_block10_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block10_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block10_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block10_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block10_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block10_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block10_out (Add)        (None, 16, 16, 1024  0           ['conv4_block9_out[0][0]',       
                                )                                 'conv4_block10_3_conv[0][0]']   
                                                                                                  
 conv4_block11_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block10_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block11_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block11_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block11_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block11_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block11_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block11_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block11_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block11_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block11_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block11_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block11_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block11_2_pad[0][0]']    
                                                                                                  
 conv4_block11_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block11_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block11_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block11_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block11_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block11_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block11_out (Add)        (None, 16, 16, 1024  0           ['conv4_block10_out[0][0]',      
                                )                                 'conv4_block11_3_conv[0][0]']   
                                                                                                  
 conv4_block12_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block11_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block12_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block12_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block12_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block12_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block12_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block12_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block12_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block12_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block12_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block12_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block12_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block12_2_pad[0][0]']    
                                                                                                  
 conv4_block12_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block12_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block12_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block12_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block12_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block12_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block12_out (Add)        (None, 16, 16, 1024  0           ['conv4_block11_out[0][0]',      
                                )                                 'conv4_block12_3_conv[0][0]']   
                                                                                                  
 conv4_block13_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block12_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block13_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block13_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block13_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block13_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block13_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block13_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block13_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block13_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block13_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block13_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block13_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block13_2_pad[0][0]']    
                                                                                                  
 conv4_block13_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block13_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block13_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block13_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block13_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block13_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block13_out (Add)        (None, 16, 16, 1024  0           ['conv4_block12_out[0][0]',      
                                )                                 'conv4_block13_3_conv[0][0]']   
                                                                                                  
 conv4_block14_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block13_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block14_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block14_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block14_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block14_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block14_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block14_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block14_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block14_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block14_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block14_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block14_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block14_2_pad[0][0]']    
                                                                                                  
 conv4_block14_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block14_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block14_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block14_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block14_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block14_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block14_out (Add)        (None, 16, 16, 1024  0           ['conv4_block13_out[0][0]',      
                                )                                 'conv4_block14_3_conv[0][0]']   
                                                                                                  
 conv4_block15_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block14_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block15_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block15_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block15_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block15_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block15_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block15_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block15_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block15_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block15_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block15_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block15_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block15_2_pad[0][0]']    
                                                                                                  
 conv4_block15_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block15_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block15_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block15_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block15_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block15_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block15_out (Add)        (None, 16, 16, 1024  0           ['conv4_block14_out[0][0]',      
                                )                                 'conv4_block15_3_conv[0][0]']   
                                                                                                  
 conv4_block16_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block15_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block16_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block16_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block16_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block16_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block16_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block16_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block16_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block16_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block16_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block16_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block16_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block16_2_pad[0][0]']    
                                                                                                  
 conv4_block16_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block16_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block16_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block16_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block16_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block16_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block16_out (Add)        (None, 16, 16, 1024  0           ['conv4_block15_out[0][0]',      
                                )                                 'conv4_block16_3_conv[0][0]']   
                                                                                                  
 conv4_block17_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block16_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block17_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block17_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block17_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block17_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block17_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block17_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block17_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block17_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block17_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block17_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block17_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block17_2_pad[0][0]']    
                                                                                                  
 conv4_block17_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block17_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block17_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block17_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block17_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block17_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block17_out (Add)        (None, 16, 16, 1024  0           ['conv4_block16_out[0][0]',      
                                )                                 'conv4_block17_3_conv[0][0]']   
                                                                                                  
 conv4_block18_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block17_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block18_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block18_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block18_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block18_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block18_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block18_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block18_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block18_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block18_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block18_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block18_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block18_2_pad[0][0]']    
                                                                                                  
 conv4_block18_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block18_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block18_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block18_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block18_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block18_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block18_out (Add)        (None, 16, 16, 1024  0           ['conv4_block17_out[0][0]',      
                                )                                 'conv4_block18_3_conv[0][0]']   
                                                                                                  
 conv4_block19_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block18_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block19_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block19_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block19_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block19_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block19_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block19_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block19_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block19_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block19_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block19_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block19_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block19_2_pad[0][0]']    
                                                                                                  
 conv4_block19_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block19_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block19_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block19_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block19_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block19_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block19_out (Add)        (None, 16, 16, 1024  0           ['conv4_block18_out[0][0]',      
                                )                                 'conv4_block19_3_conv[0][0]']   
                                                                                                  
 conv4_block20_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block19_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block20_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block20_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block20_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block20_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block20_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block20_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block20_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block20_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block20_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block20_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block20_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block20_2_pad[0][0]']    
                                                                                                  
 conv4_block20_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block20_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block20_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block20_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block20_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block20_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block20_out (Add)        (None, 16, 16, 1024  0           ['conv4_block19_out[0][0]',      
                                )                                 'conv4_block20_3_conv[0][0]']   
                                                                                                  
 conv4_block21_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block20_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block21_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block21_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block21_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block21_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block21_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block21_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block21_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block21_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block21_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block21_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block21_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block21_2_pad[0][0]']    
                                                                                                  
 conv4_block21_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block21_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block21_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block21_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block21_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block21_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block21_out (Add)        (None, 16, 16, 1024  0           ['conv4_block20_out[0][0]',      
                                )                                 'conv4_block21_3_conv[0][0]']   
                                                                                                  
 conv4_block22_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block21_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block22_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block22_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block22_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block22_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block22_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block22_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block22_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block22_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block22_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block22_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block22_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block22_2_pad[0][0]']    
                                                                                                  
 conv4_block22_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block22_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block22_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block22_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block22_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block22_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block22_out (Add)        (None, 16, 16, 1024  0           ['conv4_block21_out[0][0]',      
                                )                                 'conv4_block22_3_conv[0][0]']   
                                                                                                  
 conv4_block23_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block22_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block23_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block23_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block23_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block23_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block23_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block23_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block23_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block23_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block23_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block23_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block23_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block23_2_pad[0][0]']    
                                                                                                  
 conv4_block23_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block23_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block23_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block23_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block23_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block23_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block23_out (Add)        (None, 16, 16, 1024  0           ['conv4_block22_out[0][0]',      
                                )                                 'conv4_block23_3_conv[0][0]']   
                                                                                                  
 conv4_block24_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block23_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block24_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block24_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block24_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block24_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block24_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block24_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block24_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block24_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block24_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block24_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block24_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block24_2_pad[0][0]']    
                                                                                                  
 conv4_block24_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block24_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block24_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block24_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block24_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block24_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block24_out (Add)        (None, 16, 16, 1024  0           ['conv4_block23_out[0][0]',      
                                )                                 'conv4_block24_3_conv[0][0]']   
                                                                                                  
 conv4_block25_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block24_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block25_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block25_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block25_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block25_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block25_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block25_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block25_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block25_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block25_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block25_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block25_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block25_2_pad[0][0]']    
                                                                                                  
 conv4_block25_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block25_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block25_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block25_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block25_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block25_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block25_out (Add)        (None, 16, 16, 1024  0           ['conv4_block24_out[0][0]',      
                                )                                 'conv4_block25_3_conv[0][0]']   
                                                                                                  
 conv4_block26_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block25_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block26_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block26_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block26_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block26_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block26_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block26_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block26_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block26_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block26_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block26_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block26_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block26_2_pad[0][0]']    
                                                                                                  
 conv4_block26_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block26_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block26_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block26_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block26_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block26_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block26_out (Add)        (None, 16, 16, 1024  0           ['conv4_block25_out[0][0]',      
                                )                                 'conv4_block26_3_conv[0][0]']   
                                                                                                  
 conv4_block27_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block26_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block27_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block27_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block27_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block27_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block27_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block27_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block27_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block27_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block27_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block27_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block27_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block27_2_pad[0][0]']    
                                                                                                  
 conv4_block27_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block27_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block27_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block27_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block27_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block27_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block27_out (Add)        (None, 16, 16, 1024  0           ['conv4_block26_out[0][0]',      
                                )                                 'conv4_block27_3_conv[0][0]']   
                                                                                                  
 conv4_block28_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block27_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block28_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block28_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block28_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block28_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block28_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block28_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block28_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block28_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block28_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block28_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block28_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block28_2_pad[0][0]']    
                                                                                                  
 conv4_block28_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block28_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block28_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block28_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block28_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block28_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block28_out (Add)        (None, 16, 16, 1024  0           ['conv4_block27_out[0][0]',      
                                )                                 'conv4_block28_3_conv[0][0]']   
                                                                                                  
 conv4_block29_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block28_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block29_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block29_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block29_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block29_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block29_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block29_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block29_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block29_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block29_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block29_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block29_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block29_2_pad[0][0]']    
                                                                                                  
 conv4_block29_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block29_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block29_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block29_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block29_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block29_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block29_out (Add)        (None, 16, 16, 1024  0           ['conv4_block28_out[0][0]',      
                                )                                 'conv4_block29_3_conv[0][0]']   
                                                                                                  
 conv4_block30_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block29_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block30_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block30_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block30_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block30_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block30_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block30_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block30_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block30_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block30_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block30_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block30_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block30_2_pad[0][0]']    
                                                                                                  
 conv4_block30_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block30_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block30_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block30_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block30_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block30_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block30_out (Add)        (None, 16, 16, 1024  0           ['conv4_block29_out[0][0]',      
                                )                                 'conv4_block30_3_conv[0][0]']   
                                                                                                  
 conv4_block31_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block30_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block31_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block31_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block31_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block31_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block31_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block31_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block31_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block31_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block31_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block31_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block31_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block31_2_pad[0][0]']    
                                                                                                  
 conv4_block31_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block31_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block31_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block31_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block31_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block31_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block31_out (Add)        (None, 16, 16, 1024  0           ['conv4_block30_out[0][0]',      
                                )                                 'conv4_block31_3_conv[0][0]']   
                                                                                                  
 conv4_block32_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block31_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block32_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block32_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block32_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block32_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block32_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block32_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block32_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block32_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block32_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block32_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block32_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block32_2_pad[0][0]']    
                                                                                                  
 conv4_block32_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block32_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block32_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block32_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block32_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block32_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block32_out (Add)        (None, 16, 16, 1024  0           ['conv4_block31_out[0][0]',      
                                )                                 'conv4_block32_3_conv[0][0]']   
                                                                                                  
 conv4_block33_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block32_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block33_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block33_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block33_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block33_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block33_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block33_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block33_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block33_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block33_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block33_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block33_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block33_2_pad[0][0]']    
                                                                                                  
 conv4_block33_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block33_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block33_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block33_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block33_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block33_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block33_out (Add)        (None, 16, 16, 1024  0           ['conv4_block32_out[0][0]',      
                                )                                 'conv4_block33_3_conv[0][0]']   
                                                                                                  
 conv4_block34_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block33_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block34_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block34_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block34_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block34_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block34_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block34_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block34_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block34_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block34_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block34_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block34_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block34_2_pad[0][0]']    
                                                                                                  
 conv4_block34_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block34_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block34_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block34_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block34_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block34_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block34_out (Add)        (None, 16, 16, 1024  0           ['conv4_block33_out[0][0]',      
                                )                                 'conv4_block34_3_conv[0][0]']   
                                                                                                  
 conv4_block35_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block34_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block35_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block35_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block35_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block35_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block35_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block35_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block35_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block35_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block35_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block35_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block35_2_conv (Conv2D)  (None, 16, 16, 256)  589824      ['conv4_block35_2_pad[0][0]']    
                                                                                                  
 conv4_block35_2_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block35_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block35_2_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block35_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block35_3_conv (Conv2D)  (None, 16, 16, 1024  263168      ['conv4_block35_2_relu[0][0]']   
                                )                                                                 
                                                                                                  
 conv4_block35_out (Add)        (None, 16, 16, 1024  0           ['conv4_block34_out[0][0]',      
                                )                                 'conv4_block35_3_conv[0][0]']   
                                                                                                  
 conv4_block36_preact_bn (Batch  (None, 16, 16, 1024  4096       ['conv4_block35_out[0][0]']      
 Normalization)                 )                                                                 
                                                                                                  
 conv4_block36_preact_relu (Act  (None, 16, 16, 1024  0          ['conv4_block36_preact_bn[0][0]']
 ivation)                       )                                                                 
                                                                                                  
 conv4_block36_1_conv (Conv2D)  (None, 16, 16, 256)  262144      ['conv4_block36_preact_relu[0][0]
                                                                 ']                               
                                                                                                  
 conv4_block36_1_bn (BatchNorma  (None, 16, 16, 256)  1024       ['conv4_block36_1_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block36_1_relu (Activati  (None, 16, 16, 256)  0          ['conv4_block36_1_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 conv4_block36_2_pad (ZeroPaddi  (None, 18, 18, 256)  0          ['conv4_block36_1_relu[0][0]']   
 ng2D)                                                                                            
                                                                                                  
 conv4_block36_2_conv (Conv2D)  (None, 8, 8, 256)    589824      ['conv4_block36_2_pad[0][0]']    
                                                                                                  
 conv4_block36_2_bn (BatchNorma  (None, 8, 8, 256)   1024        ['conv4_block36_2_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 conv4_block36_2_relu (Activati  (None, 8, 8, 256)   0           ['conv4_block36_2_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 max_pooling2d_2 (MaxPooling2D)  (None, 8, 8, 1024)  0           ['conv4_block35_out[0][0]']      
                                                                                                  
 conv4_block36_3_conv (Conv2D)  (None, 8, 8, 1024)   263168      ['conv4_block36_2_relu[0][0]']   
                                                                                                  
 conv4_block36_out (Add)        (None, 8, 8, 1024)   0           ['max_pooling2d_2[0][0]',        
                                                                  'conv4_block36_3_conv[0][0]']   
                                                                                                  
 conv5_block1_preact_bn (BatchN  (None, 8, 8, 1024)  4096        ['conv4_block36_out[0][0]']      
 ormalization)                                                                                    
                                                                                                  
 conv5_block1_preact_relu (Acti  (None, 8, 8, 1024)  0           ['conv5_block1_preact_bn[0][0]'] 
 vation)                                                                                          
                                                                                                  
 conv5_block1_1_conv (Conv2D)   (None, 8, 8, 512)    524288      ['conv5_block1_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv5_block1_1_bn (BatchNormal  (None, 8, 8, 512)   2048        ['conv5_block1_1_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv5_block1_1_relu (Activatio  (None, 8, 8, 512)   0           ['conv5_block1_1_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv5_block1_2_pad (ZeroPaddin  (None, 10, 10, 512)  0          ['conv5_block1_1_relu[0][0]']    
 g2D)                                                                                             
                                                                                                  
 conv5_block1_2_conv (Conv2D)   (None, 8, 8, 512)    2359296     ['conv5_block1_2_pad[0][0]']     
                                                                                                  
 conv5_block1_2_bn (BatchNormal  (None, 8, 8, 512)   2048        ['conv5_block1_2_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv5_block1_2_relu (Activatio  (None, 8, 8, 512)   0           ['conv5_block1_2_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv5_block1_0_conv (Conv2D)   (None, 8, 8, 2048)   2099200     ['conv5_block1_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv5_block1_3_conv (Conv2D)   (None, 8, 8, 2048)   1050624     ['conv5_block1_2_relu[0][0]']    
                                                                                                  
 conv5_block1_out (Add)         (None, 8, 8, 2048)   0           ['conv5_block1_0_conv[0][0]',    
                                                                  'conv5_block1_3_conv[0][0]']    
                                                                                                  
 conv5_block2_preact_bn (BatchN  (None, 8, 8, 2048)  8192        ['conv5_block1_out[0][0]']       
 ormalization)                                                                                    
                                                                                                  
 conv5_block2_preact_relu (Acti  (None, 8, 8, 2048)  0           ['conv5_block2_preact_bn[0][0]'] 
 vation)                                                                                          
                                                                                                  
 conv5_block2_1_conv (Conv2D)   (None, 8, 8, 512)    1048576     ['conv5_block2_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv5_block2_1_bn (BatchNormal  (None, 8, 8, 512)   2048        ['conv5_block2_1_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv5_block2_1_relu (Activatio  (None, 8, 8, 512)   0           ['conv5_block2_1_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv5_block2_2_pad (ZeroPaddin  (None, 10, 10, 512)  0          ['conv5_block2_1_relu[0][0]']    
 g2D)                                                                                             
                                                                                                  
 conv5_block2_2_conv (Conv2D)   (None, 8, 8, 512)    2359296     ['conv5_block2_2_pad[0][0]']     
                                                                                                  
 conv5_block2_2_bn (BatchNormal  (None, 8, 8, 512)   2048        ['conv5_block2_2_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv5_block2_2_relu (Activatio  (None, 8, 8, 512)   0           ['conv5_block2_2_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv5_block2_3_conv (Conv2D)   (None, 8, 8, 2048)   1050624     ['conv5_block2_2_relu[0][0]']    
                                                                                                  
 conv5_block2_out (Add)         (None, 8, 8, 2048)   0           ['conv5_block1_out[0][0]',       
                                                                  'conv5_block2_3_conv[0][0]']    
                                                                                                  
 conv5_block3_preact_bn (BatchN  (None, 8, 8, 2048)  8192        ['conv5_block2_out[0][0]']       
 ormalization)                                                                                    
                                                                                                  
 conv5_block3_preact_relu (Acti  (None, 8, 8, 2048)  0           ['conv5_block3_preact_bn[0][0]'] 
 vation)                                                                                          
                                                                                                  
 conv5_block3_1_conv (Conv2D)   (None, 8, 8, 512)    1048576     ['conv5_block3_preact_relu[0][0]'
                                                                 ]                                
                                                                                                  
 conv5_block3_1_bn (BatchNormal  (None, 8, 8, 512)   2048        ['conv5_block3_1_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv5_block3_1_relu (Activatio  (None, 8, 8, 512)   0           ['conv5_block3_1_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv5_block3_2_pad (ZeroPaddin  (None, 10, 10, 512)  0          ['conv5_block3_1_relu[0][0]']    
 g2D)                                                                                             
                                                                                                  
 conv5_block3_2_conv (Conv2D)   (None, 8, 8, 512)    2359296     ['conv5_block3_2_pad[0][0]']     
                                                                                                  
 conv5_block3_2_bn (BatchNormal  (None, 8, 8, 512)   2048        ['conv5_block3_2_conv[0][0]']    
 ization)                                                                                         
                                                                                                  
 conv5_block3_2_relu (Activatio  (None, 8, 8, 512)   0           ['conv5_block3_2_bn[0][0]']      
 n)                                                                                               
                                                                                                  
 conv5_block3_3_conv (Conv2D)   (None, 8, 8, 2048)   1050624     ['conv5_block3_2_relu[0][0]']    
                                                                                                  
 conv5_block3_out (Add)         (None, 8, 8, 2048)   0           ['conv5_block2_out[0][0]',       
                                                                  'conv5_block3_3_conv[0][0]']    
                                                                                                  
 post_bn (BatchNormalization)   (None, 8, 8, 2048)   8192        ['conv5_block3_out[0][0]']       
                                                                                                  
 post_relu (Activation)         (None, 8, 8, 2048)   0           ['post_bn[0][0]']                
                                                                                                  
 global_average_pooling2d (Glob  (None, 2048)        0           ['post_relu[0][0]']              
 alAveragePooling2D)                                                                              
                                                                                                  
 dense (Dense)                  (None, 1000)         2049000     ['global_average_pooling2d[0][0]'
                                                                 ]                                
                                                                                                  
 dense_1 (Dense)                (None, 10)           10010       ['dense[0][0]']                  
                                                                                                  
==================================================================================================
Total params: 60,390,658
Trainable params: 56,430,338
Non-trainable params: 3,960,320
__________________________________________________________________________________________________

Training Model

In [11]:
# Model training
model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics='accuracy')
model.fit(train, batch_size=32, epochs=5, validation_data=test)
Epoch 1/5
250/250 [==============================] - 6429s 26s/step - loss: 0.5649 - accuracy: 0.8292 - val_loss: 0.2556 - val_accuracy: 0.9155
Epoch 2/5
250/250 [==============================] - 199s 796ms/step - loss: 0.0687 - accuracy: 0.9824 - val_loss: 0.1668 - val_accuracy: 0.9460
Epoch 3/5
250/250 [==============================] - 209s 836ms/step - loss: 0.0216 - accuracy: 0.9958 - val_loss: 0.1762 - val_accuracy: 0.9485
Epoch 4/5
250/250 [==============================] - 204s 815ms/step - loss: 0.0135 - accuracy: 0.9974 - val_loss: 0.1525 - val_accuracy: 0.9555
Epoch 5/5
250/250 [==============================] - 208s 830ms/step - loss: 0.0136 - accuracy: 0.9965 - val_loss: 0.1401 - val_accuracy: 0.9545
Out[11]:
<keras.callbacks.History at 0x7f7c4c8cbac0>

Evaluate Model

In [12]:
model.evaluate(test)
63/63 [==============================] - 19s 301ms/step - loss: 0.1401 - accuracy: 0.9545
Out[12]:
[0.1401241570711136, 0.9545000195503235]
In [13]:
loss_final, accuracy_final = model.evaluate(test)
63/63 [==============================] - 19s 301ms/step - loss: 0.1401 - accuracy: 0.9545
In [14]:
print("Final loss: {:.2f}".format(loss_final))
print("Final accuracy: {:.2f}".format(accuracy_final))
Final loss: 0.14
Final accuracy: 0.95

Prediction

In [15]:
# Prediction and visualizations

classes = os.listdir('/content/gdrive/MyDrive/Colab Notebooks/dataset8020/val')

plt.figure(figsize=(18,28))

for i in enumerate(classes):
    pic = os.listdir('/content/gdrive/MyDrive/Colab Notebooks/dataset8020/val/'+i[1])
    pic = pic[np.random.randint(len(pic)-1)]
    image = Image.open('/content/gdrive/MyDrive/Colab Notebooks/dataset8020/val/'+i[1]+'/'+pic)
    image = np.asarray(image)
    
    pred = np.argmax(model.predict(image.reshape(-1,256,256,3)/255))
    for j in list(enumerate(list(test.class_indices.keys()))):
        if pred == j[0]:
            prediction =  j[1]
    
    plt.subplot(5,2,i[0]+1)
    plt.title('Actual: {0} / Predicted: {1}'.format(i[1], prediction))
    plt.imshow(image)
plt.show()
1/1 [==============================] - 3s 3s/step
1/1 [==============================] - 0s 36ms/step
1/1 [==============================] - 0s 36ms/step
1/1 [==============================] - 0s 33ms/step
1/1 [==============================] - 0s 33ms/step
1/1 [==============================] - 0s 36ms/step
1/1 [==============================] - 0s 34ms/step
1/1 [==============================] - 0s 32ms/step
1/1 [==============================] - 0s 33ms/step
1/1 [==============================] - 0s 32ms/step

Predict test

In [16]:
y_pred = model.predict(test)
y_pred = np.argmax(y_pred, axis=1)
63/63 [==============================] - 20s 294ms/step

Save Model

In [17]:
# Saving the model as a h5 file

from tensorflow.keras.models import load_model
model.save('model_resnet152V2_tf.h5')

Load Model

In [18]:
model = load_model('model_resnet152V2_tf.h5')

Prediction Uploads Image

In [ ]:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import tensorflow as tf
from tensorflow.keras.preprocessing import image
from google.colab import files

uploaded = files.upload()

for fn in uploaded.keys():
 
  # predicting images
    path = '/content/gdrive/MyDrive/Colab Notebooks/uploads/' + fn
    img = image.load_img(path, target_size=(256, 256, 3))
    x = image.img_to_array(img)
    plt.imshow(x/255.)
    x = np.expand_dims(x, axis=0)
    images = np.vstack([x])
    classes = model.predict(images, batch_size=32)
    index = tf.argmax(classes[0], axis=0)
    print(classes[0])
    if classes[0][0]==1:
      print("Bacterial spot")
    elif classes[0][1]==1:
      print("Early blight")
    elif classes[0][2]==1:
      print("Late blight")
    elif classes[0][3]==1:
      print("Leaf Mold")
    elif classes[0][4]==1:
      print("Septoria Leaf Spot")
    elif classes[0][5]==1:
      print("Spider Mites")
    elif classes[0][6]==1:
      print("Target Spot")
    elif classes[0][7]==1:
      print("Tomato Yellow Leaf Curl Virus")
    elif classes[0][8]==1:
      print("Tomato Mosaic Virus")
    else:
      print("Healthy")
Upload widget is only available when the cell has been executed in the current browser session. Please rerun this cell to enable.
Saving Tomato Yellow Leaf Curl Virus.JPG to Tomato Yellow Leaf Curl Virus.JPG
1/1 [==============================] - 1s 657ms/step
[0. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
Healthy

Prediction Uploads Image Fixing

In [ ]:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import tensorflow as tf
from tensorflow.keras.preprocessing import image
from google.colab import files

uploaded = files.upload()

for fn in uploaded.keys():
 
  # predicting images
    # path =  lokasi filenya, fn itu lokasi file local di google colab  
    path = '/content/gdrive/MyDrive/Colab Notebooks/uploads/' + fn
    img = image.load_img(path, target_size=(256, 256, 3))
    x = image.img_to_array(img)
    #xx=np.asarray(img)
    #print ("X:",x)
    #print ("XX:",xx)
    plt.imshow(x/255.)
    x = np.expand_dims(x, axis=0)
    images = np.asarray(img)
    #print ("images: ", images)
    pred = np.argmax(model.predict(images.reshape(-1,256,256,3)/255))
    print ("pred:",pred)
    if pred==0:
      print("Spider Mites")
    elif pred==1:
      print("Septoria Leaf Spot")
    elif pred==2:
      print("Late blight")
    elif pred==3:
      print("Mosaic Virus")
    elif pred==4:
      print("Leaf Mold")
    elif pred==5:
      print("Healthy")
    elif pred==6:
      print("Bacterial Spot")
    elif pred==7:
      print("Early Blight")
    elif pred==8:
      print("Target Spot")
    else:
      print("Yellow Leaf Curl Virus")
Upload widget is only available when the cell has been executed in the current browser session. Please rerun this cell to enable.
Saving bacterial spot 1.JPG to bacterial spot 1.JPG
1/1 [==============================] - 0s 35ms/step
pred: 0
Spider Mites

Predict Uploads Image Fix

In [19]:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import tensorflow as tf
from tensorflow.keras.preprocessing import image
from google.colab import files

uploaded = files.upload()

for fn in uploaded.keys():
 
  # predicting images
    # path =  lokasi filenya, fn itu lokasi file local di google colab  
    path = '/content/gdrive/MyDrive/Colab Notebooks/uploads/' + fn
    img = image.load_img(path, target_size=(256, 256, 3))
    x = image.img_to_array(img)
    #xx=np.asarray(img)
    #print ("X:",x)
    #print ("XX:",xx)
    plt.imshow(x/255.)
    x = np.expand_dims(x, axis=0)
    images = np.asarray(img)
    #print ("images: ", images)
    pred = np.argmax(model.predict(images.reshape(-1,256,256,3)/255))
    print ("pred:",pred)
    if pred==0:
      print("Bacterial Spot")
    elif pred==1:
      print("Early Blight")
    elif pred==2:
      print("Healthy")
    elif pred==3:
      print("Late Blight")
    elif pred==4:
      print("Leaf Mold")
    elif pred==5:
      print("Mosaic Virus")
    elif pred==6:
      print("Septoria Leaf Spot")
    elif pred==7:
      print("Spider Mites")
    elif pred==8:
      print("Target Spot")
    else:
      print("Yellow Leaf Curl Virus")
Upload widget is only available when the cell has been executed in the current browser session. Please rerun this cell to enable.
Saving bacterial spot 1.JPG to bacterial spot 1.JPG
1/1 [==============================] - 2s 2s/step
pred: 0
Bacterial Spot